305 lines
11 KiB
XML
305 lines
11 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:orientation="vertical"
|
|
android:background="@color/bg"
|
|
android:gravity="center_horizontal"
|
|
android:padding="16dp">
|
|
|
|
<!-- Верхняя панель -->
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:gravity="center_vertical">
|
|
|
|
<ImageButton
|
|
android:id="@+id/btn_power"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:src="@drawable/ic_power"
|
|
android:background="?android:attr/selectableItemBackgroundBorderless"
|
|
android:contentDescription="@string/btn_power"
|
|
android:scaleType="centerInside" />
|
|
|
|
<Space
|
|
android:layout_width="0dp"
|
|
android:layout_height="1dp"
|
|
android:layout_weight="1" />
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_app_title"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/app_title"
|
|
android:textColor="@color/text_primary"
|
|
android:textSize="20sp"
|
|
android:textStyle="bold" />
|
|
|
|
<Space
|
|
android:layout_width="0dp"
|
|
android:layout_height="1dp"
|
|
android:layout_weight="1" />
|
|
|
|
<ImageButton
|
|
android:id="@+id/btn_settings"
|
|
android:layout_width="48dp"
|
|
android:layout_height="48dp"
|
|
android:src="@drawable/ic_settings"
|
|
android:background="?android:attr/selectableItemBackgroundBorderless"
|
|
android:contentDescription="@string/settings_title"
|
|
android:scaleType="centerInside" />
|
|
</LinearLayout>
|
|
|
|
<!-- Позывной + комната + группа -->
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="36dp"
|
|
android:orientation="horizontal"
|
|
android:gravity="center_vertical">
|
|
|
|
<LinearLayout
|
|
android:layout_width="0dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:orientation="vertical">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:gravity="center_vertical">
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_callsign"
|
|
android:layout_width="0dp"
|
|
android:layout_weight="1"
|
|
android:layout_height="wrap_content"
|
|
android:fontFamily="monospace"
|
|
android:textColor="@color/text_primary"
|
|
android:textSize="22sp"
|
|
android:textStyle="bold"
|
|
android:singleLine="true"
|
|
android:ellipsize="end"
|
|
android:text="@string/settings_not_configured" />
|
|
|
|
<ImageButton
|
|
android:id="@+id/btn_monitor"
|
|
android:layout_width="44dp"
|
|
android:layout_height="44dp"
|
|
android:src="@drawable/ic_headset"
|
|
android:background="?android:attr/selectableItemBackgroundBorderless"
|
|
android:contentDescription="@string/btn_monitor"
|
|
android:scaleType="centerInside" />
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_tg"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginStart="14dp"
|
|
android:textColor="@color/warn"
|
|
android:textSize="22sp"
|
|
android:textStyle="bold"
|
|
android:fontFamily="monospace" />
|
|
</LinearLayout>
|
|
</LinearLayout>
|
|
</LinearLayout>
|
|
|
|
<!-- Секция: APRS/подключение + статус -->
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="12dp"
|
|
android:orientation="vertical"
|
|
android:background="@drawable/bg_section"
|
|
android:paddingStart="14dp"
|
|
android:paddingEnd="14dp"
|
|
android:paddingTop="10dp"
|
|
android:paddingBottom="10dp">
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_subtitle"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="center"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="14sp"
|
|
android:singleLine="true"
|
|
android:ellipsize="end" />
|
|
|
|
<!-- Статус соединения -->
|
|
<TextView
|
|
android:id="@+id/status_chip"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="8dp"
|
|
android:gravity="center"
|
|
android:textColor="@color/danger"
|
|
android:textSize="18sp"
|
|
android:textStyle="bold"
|
|
android:text="@string/status_disconnected" />
|
|
</LinearLayout>
|
|
|
|
<!-- S-метры -->
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="28dp"
|
|
android:orientation="vertical"
|
|
android:background="@drawable/bg_section"
|
|
android:paddingStart="14dp"
|
|
android:paddingEnd="14dp"
|
|
android:paddingTop="12dp"
|
|
android:paddingBottom="12dp">
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="horizontal"
|
|
android:gravity="top">
|
|
|
|
<TextView
|
|
android:layout_width="34dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="6dp"
|
|
android:text="@string/meter_rx"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="13sp"
|
|
android:textStyle="bold" />
|
|
|
|
<ru.ua1zbe.svxremote.ui.SMeterView
|
|
android:id="@+id/rx_meter"
|
|
android:layout_width="0dp"
|
|
android:layout_height="52dp"
|
|
android:layout_weight="1" />
|
|
</LinearLayout>
|
|
|
|
<LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="10dp"
|
|
android:orientation="horizontal"
|
|
android:gravity="top">
|
|
|
|
<TextView
|
|
android:layout_width="34dp"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="6dp"
|
|
android:text="@string/meter_mic"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="13sp"
|
|
android:textStyle="bold" />
|
|
|
|
<ru.ua1zbe.svxremote.ui.SMeterView
|
|
android:id="@+id/mic_meter"
|
|
android:layout_width="0dp"
|
|
android:layout_height="52dp"
|
|
android:layout_weight="1" />
|
|
</LinearLayout>
|
|
|
|
<!-- Статистика приёма (скрытые настройки, по умолчанию выключено) -->
|
|
<TextView
|
|
android:id="@+id/lbl_rx_stats"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="8dp"
|
|
android:gravity="center"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="13sp"
|
|
android:visibility="gone" />
|
|
</LinearLayout>
|
|
|
|
<!-- Последний говоривший -->
|
|
<TextView
|
|
android:id="@+id/lbl_talker_title"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="24dp"
|
|
android:gravity="center"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="13sp"
|
|
android:text="@string/talker_last_none" />
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_talker"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="center"
|
|
android:textColor="@color/accent"
|
|
android:textSize="22sp"
|
|
android:textStyle="bold"
|
|
android:singleLine="true"
|
|
android:ellipsize="end" />
|
|
|
|
<!-- Индикация направления: RX (приём) / TX (передача) -->
|
|
<TextView
|
|
android:id="@+id/lbl_duplex"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="2dp"
|
|
android:gravity="center"
|
|
android:textSize="24sp"
|
|
android:textStyle="bold"
|
|
android:visibility="invisible" />
|
|
|
|
<Space
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1" />
|
|
|
|
<!-- Кнопка PTT -->
|
|
<ru.ua1zbe.svxremote.ui.PttButton
|
|
android:id="@+id/ptt_button"
|
|
android:layout_width="130dp"
|
|
android:layout_height="130dp" />
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_ptt_hint"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="14dp"
|
|
android:gravity="center"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="14sp"
|
|
android:textStyle="bold"
|
|
android:text="@string/hold_to_talk" />
|
|
|
|
<Space
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0dp"
|
|
android:layout_weight="1" />
|
|
|
|
<!-- Нижняя зона статуса (кликабельна) -->
|
|
<LinearLayout
|
|
android:id="@+id/connect_zone"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:padding="8dp"
|
|
android:clickable="true"
|
|
android:focusable="true">
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_tx_state"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:gravity="center"
|
|
android:textColor="@color/danger"
|
|
android:textSize="14sp"
|
|
android:textStyle="bold"
|
|
android:text="@string/status_big_disconnected" />
|
|
|
|
<TextView
|
|
android:id="@+id/lbl_connect_hint"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="4dp"
|
|
android:gravity="center"
|
|
android:textColor="@color/text_secondary"
|
|
android:textSize="12sp"
|
|
android:textStyle="italic"
|
|
android:text="@string/hint_connect" />
|
|
</LinearLayout>
|
|
</LinearLayout> |