feat: 新增护眼距离和行走抖动检测提醒功能

This commit is contained in:
2026-07-30 09:36:10 +08:00
parent 132000b4e1
commit 621ebd64d7
25 changed files with 2112 additions and 76 deletions

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorAccent" />
<corners android:radius="24dp" />
</shape>

View File

@@ -0,0 +1,27 @@
<!--
~ Copyright (C) 2026 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="200dp"
android:height="200dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<path
android:pathData="M447,59.6a132.7,132.7 0,0 1,178.3 46.6l0.1,0.2 380.5,633.2 0.3,0.6a132,132 0,0 1,-47.6 180.2,132.7 132.7,0 0,1 -65.7,18.2L131.1,938.7a132.7,132.7 0,0 1,-113.7 -66.7,132 132,0 0,1 0.4,-131.7l0.3,-0.6 380.5,-633.2 36.6,21.9 -36.5,-22.2a132.4,132.4 0,0 1,48.3 -46.6zM471.7,150.5l-0,0.1 -380.2,632.7a46.7,46.7 0,0 0,17.1 63.6c7,4.1 15.1,6.4 23.3,6.5L892.2,853.3a47.4,47.4 0,0 0,40.3 -23.7,46.7 46.7,0 0,0 0,-46.3L552.4,150.6l-0,-0.1A47.1,47.1 0,0 0,512 128a47.4,47.4 0,0 0,-40.3 22.5z"
android:fillColor="#fd7415" />
<path
android:pathData="M512,682.7a42.7,42.7 0,0 1,-42.7 -42.7V341.3a42.7,42.7 0,1 1,85.3 0v298.7a42.7,42.7 0,0 1,-42.7 42.7zM554.7,768a42.7,42.7 0,1 1,-85.3 0,42.7 42.7,0 0,1 85.3,0z"
android:fillColor="#fd7415" />
</vector>

View File

@@ -0,0 +1,24 @@
<!--
~ Copyright (C) 2026 The Android Open Source Project
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="200dp"
android:height="200dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<path
android:pathData="M677.6,95.9L345.5,95.9A103.6,103.6 0,0 0,244.3 195.8v629.9a102.4,102.4 0,0 0,101.8 102.4h331.9a103.1,103.1 0,0 0,104 -100L782,196a103.7,103.7 0,0 0,-104.6 -100zM720.3,824.6a41.3,41.3 0,0 1,-42 40.1L346.1,864.7a41.9,41.9 0,0 1,-42 -39.6L304.1,196.9a41.9,41.9 0,0 1,43.1 -37.9h331.9a43,43 0,0 1,42 40.1zM155.5,365.5L53.7,255.7a29.4,29.4 0,0 0,-42.6 0,29 29,0 0,0 0,42.3l87.9,96L16.6,482.4a41.5,41.5 0,0 0,0 54.9l81.9,88.4 -89.1,97.7a29,29 0,0 0,0 42.3,29.4 29.4,0 0,0 20.5,8.3 28.9,28.9 0,0 0,23.8 -11l101.2,-109.8a41,41 0,0 0,0 -54.9L73,511l82.4,-88.4a42,42 0,0 0,-0.3 -57zM927.2,627.5l81.9,-88.4a41.5,41.5 0,0 0,0 -54.9l-82.4,-90 89.6,-96.6a29.8,29.8 0,0 0,-1.7 -42.3,30.3 30.3,0 0,0 -42.6,1.7l-101.8,109.8a41.5,41.5 0,0 0,0 54.9l82.4,89 -81.9,87.9a41.5,41.5 0,0 0,0 54.9l101.2,109.8a28.9,28.9 0,0 0,22.1 9.9,30.4 30.4,0 0,0 27.5,-18.2 30,30 0,0 0,-5.4 -32.4z"
android:fillColor="#fd7415" />
</vector>

View File

@@ -6,6 +6,9 @@
<data>
<variable
name="click"
type="com.aoleyun.sn.activity.EyeProtectionActivity.BtnClick" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
@@ -60,44 +63,57 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_64"
android:layout_marginEnd="@dimen/dp_64"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginStart="@dimen/dp_64"
android:layout_marginEnd="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/item_eye_background">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:maxLines="1"
android:text="滤蓝光模式"
android:textColor="@color/white"
android:textSize="@dimen/sp_11"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="开启滤蓝光护眼,让屏幕偏暖色,保护视力,减少视觉疲劳。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton1"
app:layout_constraintStart_toStartOf="@+id/textView1"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="滤蓝光模式"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="开启滤蓝光护眼,让屏幕偏暖色,保护视力,减少视觉疲劳。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView1"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_18"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -108,40 +124,50 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginStart="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_64"
android:background="@drawable/item_eye_background">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:maxLines="1"
android:text="阅读模式"
android:textColor="@color/white"
android:textSize="@dimen/sp_11"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="通过模拟纸张的色调,体验如墨水屏般的显示效果,保护视力。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton2"
app:layout_constraintStart_toStartOf="@+id/textView2"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="阅读模式"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="通过模拟纸张的色调,体验如墨水屏般的显示效果,保护视力。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView2"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton2"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_18"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -284,6 +310,115 @@
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/item_eye_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="抖动护眼提醒"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="边走路边看平板,通过弹窗提醒。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView6" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton6"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/item_eye_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
android:onClick="@{click::onDistanceClick}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton7"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="距离护眼提醒"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="长时间靠屏幕过近,通过弹窗提醒。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView7"
app:layout_constraintTop_toBottomOf="@+id/textView7" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton7"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</ScrollView>

View File

@@ -0,0 +1,426 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".activity.EyeProtectionActivity">
<data>
<variable
name="click"
type="com.aoleyun.sn.activity.EyeProtectionActivity.BtnClick" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#1f2127">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_32"
app:layout_constraintTop_toTopOf="parent">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_exit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_back"
android:layout_width="@dimen/dp_16"
android:layout_height="@dimen/dp_16"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="护眼功能"
android:textColor="@color/white"
android:textSize="@dimen/sp_13"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/iv_back"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginEnd="@dimen/dp_16"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/item_eye_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton1"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="滤蓝光模式"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="开启滤蓝光护眼,让屏幕偏暖色,保护视力,减少视觉疲劳。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView1"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/item_eye_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="阅读模式"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="通过模拟纸张的色调,体验如墨水屏般的显示效果,保护视力。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView2"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton2"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginStart="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_64"
android:background="@drawable/item_eye_background"
android:visibility="gone">
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:maxLines="1"
android:text="躺姿提醒(暂未开放)"
android:textColor="@color/white"
android:textSize="@dimen/sp_11"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="通仰躺、侧卧时使用平板,提醒坐正后使用"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton3"
app:layout_constraintStart_toStartOf="@+id/textView3"
app:layout_constraintTop_toBottomOf="@+id/textView3" />
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton3"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_18"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginStart="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_64"
android:background="@drawable/item_eye_background"
android:visibility="gone">
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:maxLines="1"
android:text="抖动提醒(暂未开放)"
android:textColor="@color/white"
android:textSize="@dimen/sp_11"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="走路、乘车等抖动环境下,提醒到平稳环境下使用"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton4"
app:layout_constraintStart_toStartOf="@+id/textView4"
app:layout_constraintTop_toBottomOf="@+id/textView4" />
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton4"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_18"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginStart="@dimen/dp_64"
android:layout_marginTop="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_64"
android:background="@drawable/item_eye_background"
android:visibility="gone">
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:maxLines="1"
android:text="亮度提醒(暂未开放)"
android:textColor="@color/white"
android:textSize="@dimen/sp_11"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="环境亮度过亮或过暗时,提醒到事宜的环境下使用"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton5"
app:layout_constraintStart_toStartOf="@+id/textView5"
app:layout_constraintTop_toBottomOf="@+id/textView5" />
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton5"
android:layout_width="@dimen/dp_34"
android:layout_height="@dimen/dp_18"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/item_eye_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton6"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="抖动护眼提醒"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="边走路边看平板,通过弹窗提醒。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView6"
app:layout_constraintTop_toBottomOf="@+id/textView6" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton6"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_54"
android:layout_marginTop="@dimen/dp_8"
android:background="@drawable/item_eye_background">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:layout_marginEnd="@dimen/dp_8"
android:onClick="@{click::onDistanceClick}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/toggleButton7"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:id="@+id/textView7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="1"
android:text="距离护眼提醒"
android:textColor="@color/white"
android:textSize="@dimen/sp_10"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginEnd="@dimen/dp_16"
android:maxLines="2"
android:text="长时间靠屏幕过近,通过弹窗提醒。"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@+id/textView7"
app:layout_constraintTop_toBottomOf="@+id/textView7" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.aoleyun.sn.view.ToggleButton
android:id="@+id/toggleButton7"
android:layout_width="@dimen/dp_26"
android:layout_height="@dimen/dp_14"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
<androidx.camera.view.PreviewView
android:id="@+id/previewView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.aoleyun.sn.view.FaceOverlayView
android:id="@+id/faceOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/tvStepInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
android:layout_marginStart="16dp"
android:background="#80000000"
android:padding="8dp"
android:text="步数信息"
android:textColor="@android:color/white"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@@ -0,0 +1,79 @@
<?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">
<androidx.cardview.widget.CardView
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="24dp"
app:cardElevation="8dp"
app:cardPreventCornerOverlap="false"
app:cardUseCompatPadding="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="24dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_close"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_alignParentEnd="true"
android:padding="4dp"
android:src="@drawable/icon_close" />
</RelativeLayout>
<ImageView
android:id="@+id/iv_warning_icon"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginTop="8dp"
android:src="@drawable/ic_warning" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="距离太近"
android:textColor="#333333"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:gravity="center"
android:lineSpacingExtra="4dp"
android:text="请保持安全距离,保护您的视力"
android:textColor="#666666"
android:textSize="14sp" />
<TextView
android:id="@+id/btn_confirm"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_marginTop="32dp"
android:background="@drawable/bg_warning_btn_blue"
android:gravity="center"
android:text="我知道了"
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>

View File

@@ -95,4 +95,28 @@
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowCloseOnTouchOutside">true</item>
</style>
<!-- <style name="TransparentActivity" parent="Theme.AppCompat.Light.NoActionBar">-->
<!-- <item name="android:windowBackground">@android:color/transparent</item>-->
<!-- <item name="android:windowIsTranslucent">true</item>-->
<!-- <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>-->
<!-- <item name="android:windowNoTitle">true</item>-->
<!-- <item name="android:windowContentOverlay">@null</item>-->
<!-- <item name="android:backgroundDimEnabled">true</item>-->
<!-- <item name="android:backgroundDimAmount">0.3</item>-->
<!-- <item name="android:windowIsFloating">true</item>-->
<!-- <item name="android:windowTranslucentStatus">true</item>-->
<!-- <item name="android:statusBarColor">@android:color/transparent</item>-->
<!-- </style>-->
<style name="TransparentActivity" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:backgroundDimEnabled">true</item>
<item name="android:backgroundDimAmount">0.3</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
</resources>