<?xml version="1.0" encoding="utf-8"?>
|
<androidx.core.widget.NestedScrollView 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"
|
android:background="@color/bg"
|
android:fillViewport="true">
|
|
<LinearLayout
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="vertical"
|
android:padding="12dp">
|
|
<androidx.cardview.widget.CardView
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
app:cardCornerRadius="10dp"
|
app:cardUseCompatPadding="true">
|
|
<LinearLayout
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="vertical"
|
android:padding="12dp">
|
|
<TextView
|
android:id="@+id/tv_device_status"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:text="@string/device_unbound"
|
android:textColor="@color/text_primary"
|
android:textSize="16sp"
|
android:textStyle="bold" />
|
|
<TextView
|
android:id="@+id/tv_sync_status"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="4dp"
|
android:textColor="@color/text_secondary"
|
android:textSize="13sp" />
|
|
<LinearLayout
|
android:id="@+id/bound_actions"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="8dp"
|
android:orientation="horizontal"
|
android:visibility="gone">
|
|
<Button
|
android:id="@+id/btn_sync"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_weight="1"
|
android:text="@string/sync_now" />
|
|
<Button
|
android:id="@+id/btn_alarm"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_marginStart="8dp"
|
android:layout_weight="1"
|
android:text="@string/alarm_settings" />
|
|
<Button
|
android:id="@+id/btn_unbind"
|
style="@style/Widget.MaterialComponents.Button.OutlinedButton"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_marginStart="8dp"
|
android:layout_weight="1"
|
android:text="@string/unbind" />
|
</LinearLayout>
|
</LinearLayout>
|
</androidx.cardview.widget.CardView>
|
|
<LinearLayout
|
android:id="@+id/unbound_panel"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="vertical">
|
|
<Button
|
android:id="@+id/btn_scan"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:text="@string/scan_devices" />
|
|
<androidx.recyclerview.widget.RecyclerView
|
android:id="@+id/rv_devices"
|
android:layout_width="match_parent"
|
android:layout_height="240dp"
|
android:nestedScrollingEnabled="false" />
|
</LinearLayout>
|
|
<LinearLayout
|
android:id="@+id/bound_panel"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="vertical"
|
android:visibility="gone">
|
|
<LinearLayout
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="horizontal">
|
|
<include
|
android:id="@+id/card_steps"
|
layout="@layout/item_metric_card"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_weight="1" />
|
|
<include
|
android:id="@+id/card_hr"
|
layout="@layout/item_metric_card"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_weight="1" />
|
</LinearLayout>
|
|
<LinearLayout
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="horizontal">
|
|
<include
|
android:id="@+id/card_bp"
|
layout="@layout/item_metric_card"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_weight="1" />
|
|
<include
|
android:id="@+id/card_spo2"
|
layout="@layout/item_metric_card"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_weight="1" />
|
</LinearLayout>
|
|
<LinearLayout
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="horizontal">
|
|
<include
|
android:id="@+id/card_glucose"
|
layout="@layout/item_metric_card"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_weight="1" />
|
|
<include
|
android:id="@+id/card_sleep"
|
layout="@layout/item_metric_card"
|
android:layout_width="0dp"
|
android:layout_height="wrap_content"
|
android:layout_weight="1" />
|
</LinearLayout>
|
|
<TextView
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="8dp"
|
android:text="@string/chart_7days"
|
android:textColor="@color/text_primary"
|
android:textStyle="bold" />
|
|
<TextView
|
android:id="@+id/title_chart_steps"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="10dp"
|
android:text="步数"
|
android:textColor="@color/text_primary"
|
android:textStyle="bold" />
|
|
<com.github.mikephil.charting.charts.LineChart
|
android:id="@+id/chart_steps"
|
android:layout_width="match_parent"
|
android:layout_height="180dp"
|
android:layout_marginTop="4dp" />
|
|
<TextView
|
android:id="@+id/title_chart_hr"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="12dp"
|
android:text="心率(日均)"
|
android:textColor="@color/text_primary"
|
android:textStyle="bold" />
|
|
<com.github.mikephil.charting.charts.LineChart
|
android:id="@+id/chart_hr"
|
android:layout_width="match_parent"
|
android:layout_height="180dp"
|
android:layout_marginTop="4dp" />
|
|
<TextView
|
android:id="@+id/title_chart_bp_sys"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="12dp"
|
android:text="@string/chart_bp_sys"
|
android:textColor="@color/text_primary"
|
android:textStyle="bold" />
|
|
<com.github.mikephil.charting.charts.LineChart
|
android:id="@+id/chart_bp_sys"
|
android:layout_width="match_parent"
|
android:layout_height="180dp"
|
android:layout_marginTop="4dp" />
|
|
<TextView
|
android:id="@+id/title_chart_bp_dia"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="12dp"
|
android:text="@string/chart_bp_dia"
|
android:textColor="@color/text_primary"
|
android:textStyle="bold" />
|
|
<com.github.mikephil.charting.charts.LineChart
|
android:id="@+id/chart_bp_dia"
|
android:layout_width="match_parent"
|
android:layout_height="180dp"
|
android:layout_marginTop="4dp" />
|
|
<TextView
|
android:id="@+id/title_chart_spo2"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="12dp"
|
android:text="血氧(日均)"
|
android:textColor="@color/text_primary"
|
android:textStyle="bold" />
|
|
<com.github.mikephil.charting.charts.LineChart
|
android:id="@+id/chart_spo2"
|
android:layout_width="match_parent"
|
android:layout_height="180dp"
|
android:layout_marginTop="4dp"
|
android:layout_marginBottom="8dp" />
|
|
<LinearLayout
|
android:id="@+id/debug_sim_panel"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:orientation="vertical">
|
|
<TextView
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginTop="8dp"
|
android:text="异常模拟(调试用,发布时关闭)"
|
android:textColor="@color/text_primary"
|
android:textStyle="bold" />
|
|
<Button
|
android:id="@+id/btn_sim_hr"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:text="模拟心率异常" />
|
|
<Button
|
android:id="@+id/btn_sim_bp"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:text="模拟血压异常" />
|
|
<Button
|
android:id="@+id/btn_sim_spo2"
|
android:layout_width="match_parent"
|
android:layout_height="wrap_content"
|
android:layout_marginBottom="16dp"
|
android:text="模拟血氧异常" />
|
</LinearLayout>
|
</LinearLayout>
|
</LinearLayout>
|
</androidx.core.widget.NestedScrollView>
|