added linear slider

This commit is contained in:
2026-06-15 08:40:27 +03:00
parent ab2a3bb035
commit 2f303134c1
20 changed files with 481 additions and 196 deletions
+196 -137
View File
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -8,175 +9,232 @@
android:layout_width="match_parent"
android:layout_height="match_parent" />
<com.grigowashere.loratester.ui.ElevationHeatmapLegendView
android:id="@+id/mapHeatmapLegend"
<LinearLayout
android:id="@+id/mapStatusChip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_gravity="top|start"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:elevation="4dp"
android:visibility="gone" />
android:layout_marginEnd="56dp"
android:background="@drawable/bg_map_panel"
android:elevation="6dp"
android:orientation="vertical"
android:paddingStart="8dp"
android:paddingTop="6dp"
android:paddingEnd="8dp"
android:paddingBottom="6dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iconServer"
android:layout_width="18dp"
android:layout_height="18dp"
android:contentDescription="@string/status_server"
android:src="@drawable/ic_link_server" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:text="@string/status_server_short"
android:textColor="#AAAAAA"
android:textSize="9sp" />
<ImageView
android:id="@+id/iconLora"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_marginStart="8dp"
android:contentDescription="@string/status_lora"
android:src="@drawable/ic_link_lora" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:text="@string/status_lora_short"
android:textColor="#AAAAAA"
android:textSize="9sp" />
</LinearLayout>
<TextView
android:id="@+id/mapStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:maxLines="2"
android:textColor="#FFFFFF"
android:textSize="10sp" />
<TextView
android:id="@+id/mapDistance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="#00FF88"
android:textSize="9sp"
android:visibility="gone" />
</LinearLayout>
<LinearLayout
android:id="@+id/mapToolRail"
android:layout_width="48dp"
android:layout_height="wrap_content"
android:layout_gravity="end|center_vertical"
android:layout_marginEnd="6dp"
android:background="@drawable/bg_map_panel"
android:elevation="6dp"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingTop="4dp"
android:paddingBottom="4dp">
<ImageButton
android:id="@+id/btnToolCenter"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/map_tool_center"
android:src="@drawable/ic_center"
app:tint="@color/map_tool_icon_tint" />
<ImageButton
android:id="@+id/btnFindHill"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/map_find_hill"
android:src="@drawable/ic_hill"
app:tint="@color/map_tool_icon_tint" />
<ImageButton
android:id="@+id/btnHeatmap"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/map_heatmap"
android:src="@drawable/ic_heatmap"
app:tint="@color/map_tool_icon_tint" />
<ImageButton
android:id="@+id/btnTrack"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/map_tool_track"
android:src="@drawable/ic_track"
app:tint="@color/map_tool_icon_tint" />
<ImageButton
android:id="@+id/btnPairedTrack"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/map_tool_paired"
android:src="@drawable/ic_paired_track"
app:tint="@color/map_tool_icon_tint" />
<ImageButton
android:id="@+id/btnToolMore"
style="@style/Widget.Material3.Button.IconButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:contentDescription="@string/map_tool_more"
android:src="@drawable/ic_more_vert"
app:tint="@color/map_tool_icon_tint" />
</LinearLayout>
<ScrollView
android:id="@+id/mapSidePanel"
android:layout_width="152dp"
android:id="@+id/mapToolDrawer"
android:layout_width="148dp"
android:layout_height="wrap_content"
android:layout_gravity="end|top"
android:layout_margin="6dp"
android:background="#CC0F3460"
android:elevation="4dp"
android:fillViewport="false"
android:scrollbars="none">
android:layout_marginTop="8dp"
android:layout_marginEnd="56dp"
android:background="@drawable/bg_map_panel"
android:elevation="6dp"
android:scrollbars="none"
android:visibility="gone">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="6dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/iconServer"
android:layout_width="20dp"
android:layout_height="20dp"
android:contentDescription="@string/status_server"
android:src="@drawable/ic_link_server" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@string/status_server_short"
android:textColor="#AAAAAA"
android:textSize="9sp" />
<ImageView
android:id="@+id/iconLora"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginStart="10dp"
android:contentDescription="@string/status_lora"
android:src="@drawable/ic_link_lora" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="4dp"
android:text="@string/status_lora_short"
android:textColor="#AAAAAA"
android:textSize="9sp" />
</LinearLayout>
android:padding="8dp">
<TextView
android:id="@+id/mapStatus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:textSize="10sp" />
<TextView
android:id="@+id/mapDistance"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="@string/map_center_mode"
android:textColor="#00FF88"
android:textSize="9sp"
android:visibility="gone" />
android:textSize="10sp"
android:textStyle="bold" />
<LinearLayout
<com.google.android.material.button.MaterialButtonToggleGroup
android:id="@+id/mapCenterMode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:orientation="horizontal">
android:orientation="vertical"
app:selectionRequired="false"
app:singleSelection="true">
<Button
android:id="@+id/btnCenterMe"
<com.google.android.material.button.MaterialButton
android:id="@+id/centerMe"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:minHeight="32dp"
android:text="@string/map_center_me"
android:textSize="10sp" />
<Button
android:id="@+id/btnCenterTx"
<com.google.android.material.button.MaterialButton
android:id="@+id/centerTx"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:layout_weight="1"
android:minHeight="32dp"
android:text="@string/map_center_tx"
android:textSize="10sp" />
<Button
android:id="@+id/btnCenterRx"
<com.google.android.material.button.MaterialButton
android:id="@+id/centerRx"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:layout_weight="1"
android:minHeight="32dp"
android:text="@string/map_center_rx"
android:textSize="10sp" />
<Button
android:id="@+id/btnCenterBoth"
<com.google.android.material.button.MaterialButton
android:id="@+id/centerBoth"
style="@style/Widget.Material3.Button.OutlinedButton"
android:layout_width="0dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="2dp"
android:layout_weight="1"
android:minHeight="32dp"
android:text="@string/map_center_both"
android:textSize="10sp" />
</LinearLayout>
<Button
android:id="@+id/btnFindHill"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:drawableStart="@drawable/ic_hill"
android:drawablePadding="6dp"
android:minHeight="34dp"
android:text="@string/map_find_hill"
android:textSize="10sp" />
</com.google.android.material.button.MaterialButtonToggleGroup>
<TextView
android:id="@+id/mapHillStatus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:textColor="#FFC107"
android:textSize="9sp"
android:visibility="gone" />
android:layout_marginTop="8dp"
android:text="@string/map_heatmap_radius"
android:textColor="#CCCCCC"
android:textSize="9sp" />
<Spinner
android:id="@+id/mapHeatmapRadius"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp" />
<Button
android:id="@+id/btnHeatmap"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:minHeight="34dp"
android:text="@string/map_heatmap"
android:textSize="10sp" />
android:layout_marginTop="2dp" />
<TextView
android:id="@+id/mapHeatmapStatus"
@@ -187,33 +245,29 @@
android:textSize="9sp"
android:visibility="gone" />
<TextView
android:id="@+id/mapHillStatus"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="#FFC107"
android:textSize="9sp"
android:visibility="gone" />
<TextView
android:id="@+id/mapLegend"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:layout_marginTop="6dp"
android:text="@string/map_legend"
android:textColor="#CCCCCC"
android:textSize="9sp" />
<Button
android:id="@+id/btnTrack"
<Spinner
android:id="@+id/trackSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:minHeight="36dp"
android:text="@string/track_start"
android:textSize="11sp" />
<Button
android:id="@+id/btnPairedTrack"
style="@style/Widget.Material3.Button.TonalButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:minHeight="36dp"
android:text="@string/track_paired_start"
android:textSize="11sp" />
android:layout_marginTop="6dp" />
<TextView
android:id="@+id/trackStatus"
@@ -222,13 +276,18 @@
android:layout_marginTop="2dp"
android:textColor="#CCCCCC"
android:textSize="9sp" />
<Spinner
android:id="@+id/trackSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp" />
</LinearLayout>
</ScrollView>
<com.grigowashere.loratester.ui.ElevationHeatmapLegendView
android:id="@+id/mapHeatmapLegend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|start"
android:layout_marginStart="10dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="10dp"
android:elevation="4dp"
android:visibility="gone" />
</FrameLayout>