Commit da6de736 authored by 马乐's avatar 马乐

1.完成设置-车辆信息UI

parent b7114453
package com.waytous.anticollision.ui.settings
import androidx.lifecycle.ViewModel
import com.waytous.anticollision.config.Settings
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow
class SettingsViewModel: ViewModel() {
private val settingStatus = MutableStateFlow(Settings)
val _settingsStatus = settingStatus.asStateFlow()
}
\ No newline at end of file
package com.waytous.anticollision.ui.settings
import androidx.lifecycle.ViewModelProvider
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.waytous.anticollision.R
class UserSettingsFragment : Fragment() {
companion object {
fun newInstance() = UserSettingsFragment()
}
private lateinit var viewModel: UserSettingsViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_user_settings, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
viewModel = ViewModelProvider(this)[UserSettingsViewModel::class.java]
// TODO: Use the ViewModel
}
}
\ No newline at end of file
package com.waytous.anticollision.ui.settings
import androidx.lifecycle.ViewModel
class UserSettingsViewModel : ViewModel() {
// TODO: Implement the ViewModel
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<shape android:shape="rectangle">
<size android:width="@dimen/dp_98" android:height="@dimen/dp_98"/>
<solid android:color="@color/color_ff3785f8"/>
</shape>
</item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<layer-list>
<item android:width="@dimen/dp_224" android:height="@dimen/dp_54" android:drawable="@drawable/background_collect_spinner_text"/>
<item android:drawable="@mipmap/icon_spinner_expanded_light" android:left="@dimen/dp_172"/>
</layer-list>
</item>
<item android:state_pressed="true">
<layer-list>
<item android:width="@dimen/dp_224" android:height="@dimen/dp_54" android:drawable="@drawable/background_collect_spinner_text"/>
<item android:drawable="@mipmap/icon_spinner_retracted_light" android:left="@dimen/dp_172"/>
</layer-list>
</item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true">
<shape android:shape="rectangle">
<size android:width="@dimen/dp_98" android:height="@dimen/dp_98"/>
<solid android:color="@color/color_ff3785f8"/>
<corners android:radius="@dimen/dp_10"/>
</shape>
</item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<size android:width="@dimen/dp_132" android:height="@dimen/dp_578"/>
<solid android:color="@color/white"/>
<corners android:topRightRadius="@dimen/dp_10" android:bottomRightRadius="@dimen/dp_10"/>
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="@dimen/dp_364" android:height="@dimen/dp_280"/>
<stroke android:width="@dimen/dp_1" android:color="@color/color_ff333333"/>
<corners android:radius="@dimen/dp_10"/>
</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/icon_fixed_checked" android:state_checked="true"/>
<item android:drawable="@mipmap/icon_fixed_unchecked" android:state_checked="false"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/icon_net_settings_checked" android:state_checked="true"/>
<item android:drawable="@mipmap/icon_net_settings_unchecked" android:state_checked="false"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@mipmap/icon_vehicle_info_checked" android:state_checked="true"/>
<item android:drawable="@mipmap/icon_vehicle_info_unchecked" android:state_checked="false"/>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/color_ffe5e5e5"
tools:context=".ui.settings.UserSettingsFragment">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/userSettingsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:drawableLeft="@mipmap/icon_settings_tiny"
android:drawablePadding="@dimen/dp_3"
android:text="@string/user_settings_title"
android:textColor="@color/color_ff333333"
android:textSize="@dimen/sp_30"
android:textStyle="bold"
android:layout_marginTop="@dimen/dp_12"
android:layout_marginStart="@dimen/dp_12"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<RadioGroup
android:id="@+id/useSettingsRadioGroup"
android:layout_width="@dimen/dp_132"
android:layout_height="@dimen/dp_578"
android:layout_marginTop="@dimen/dp_13"
android:gravity="center_horizontal"
android:background="@drawable/background_user_settings_radio_group"
app:layout_constraintTop_toBottomOf="@id/userSettingsTitle"
app:layout_constraintStart_toStartOf="parent"
android:orientation="vertical">
<RadioButton
android:id="@+id/userSettingsVehicleInfo"
android:layout_width="@dimen/dp_98"
android:layout_height="@dimen/dp_98"
android:gravity="center_horizontal"
android:drawableTop="@drawable/icon_user_settings_vehicle_info"
android:button="@null"
android:background="@drawable/background_user_settings_radio_button"
android:text="@string/vehicle_info"
android:textSize="@dimen/sp_20"
android:textColor="@drawable/color_text_btn_4"
android:paddingTop="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_27"
android:checked="true"/>
<RadioButton
android:id="@+id/userSettingsNetwork"
android:layout_width="@dimen/dp_98"
android:layout_height="@dimen/dp_98"
android:gravity="center_horizontal"
android:drawableTop="@drawable/icon_user_settings_network"
android:button="@null"
android:background="@drawable/background_user_settings_radio_button"
android:text="@string/network_settings"
android:textSize="@dimen/sp_20"
android:textColor="@drawable/color_text_btn_4"
android:paddingTop="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_16"/>
<RadioButton
android:id="@+id/userSettingsFixedInfo"
android:layout_width="@dimen/dp_98"
android:layout_height="@dimen/dp_98"
android:gravity="center_horizontal"
android:drawableTop="@drawable/icon_user_settings_fixed_info"
android:button="@null"
android:background="@drawable/background_user_settings_radio_button"
android:text="@string/fixed_info"
android:textSize="@dimen/sp_20"
android:textColor="@drawable/color_text_btn_4"
android:paddingTop="@dimen/dp_8"
android:layout_marginTop="@dimen/dp_16"/>
</RadioGroup>
<FrameLayout
android:id="@+id/userSettingsContentWrapper"
android:layout_width="@dimen/dp_0"
android:layout_height="@dimen/dp_0"
android:layout_marginStart="@dimen/dp_26"
app:layout_constraintTop_toTopOf="@id/useSettingsRadioGroup"
app:layout_constraintBottom_toBottomOf="@id/useSettingsRadioGroup"
app:layout_constraintStart_toStartOf="@id/useSettingsRadioGroup"/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_578"
tools:context=".ui.settings.UserSettingsFragment">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/vehicleInfoLayout1"
android:layout_width="@dimen/dp_364"
android:layout_height="@dimen/dp_280"
android:background="@drawable/background_user_settings_vehicle_info"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent">
<Spinner
android:id="@+id/userSettingsVehicleType"
android:layout_width="@dimen/dp_224"
android:layout_height="@dimen/dp_54"
android:paddingStart="@dimen/dp_10"
android:background="@drawable/background_spinner1"
android:layout_marginTop="@dimen/dp_32"
android:layout_marginEnd="@dimen/dp_28"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/userSettingsVehicleId"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_12"
android:text="@string/vehicle_type"
android:textSize="@dimen/sp_20"
android:textColor="@color/color_ff333333"
app:layout_constraintEnd_toStartOf="@id/userSettingsVehicleType"
app:layout_constraintTop_toTopOf="@id/userSettingsVehicleType"
app:layout_constraintBottom_toBottomOf="@id/userSettingsVehicleType"/>
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/userSettingsVehicleId"
android:layout_width="@dimen/dp_224"
android:layout_height="@dimen/dp_54"
android:background="@drawable/background_collect_spinner_text"
android:paddingStart="@dimen/dp_10"
android:paddingEnd="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_30"
android:hint="请输入车辆ID"
app:layout_constraintTop_toBottomOf="@id/userSettingsVehicleType"
app:layout_constraintStart_toStartOf="@id/userSettingsVehicleType"
app:layout_constraintEnd_toEndOf="@id/userSettingsVehicleType"
app:layout_constraintBottom_toTopOf="@id/userSettingsDeviceId"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_12"
android:text="@string/vehicle_id"
android:textSize="@dimen/sp_20"
android:textColor="@color/color_ff333333"
app:layout_constraintEnd_toStartOf="@id/userSettingsVehicleId"
app:layout_constraintTop_toTopOf="@id/userSettingsVehicleId"
app:layout_constraintBottom_toBottomOf="@id/userSettingsVehicleId"/>
<androidx.appcompat.widget.AppCompatEditText
android:id="@+id/userSettingsDeviceId"
android:layout_width="@dimen/dp_224"
android:layout_height="@dimen/dp_54"
android:background="@drawable/background_collect_spinner_text"
android:paddingStart="@dimen/dp_10"
android:paddingEnd="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_32"
android:hint="请输入设备ID"
app:layout_constraintTop_toBottomOf="@id/userSettingsVehicleId"
app:layout_constraintStart_toStartOf="@id/userSettingsVehicleId"
app:layout_constraintEnd_toEndOf="@id/userSettingsVehicleId"
app:layout_constraintBottom_toBottomOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_12"
android:text="@string/device_id"
android:textSize="@dimen/sp_20"
android:textColor="@color/color_ff333333"
app:layout_constraintEnd_toStartOf="@id/userSettingsDeviceId"
app:layout_constraintTop_toTopOf="@id/userSettingsDeviceId"
app:layout_constraintBottom_toBottomOf="@id/userSettingsDeviceId"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/vehicleInfoLayout2"
android:layout_width="@dimen/dp_364"
android:layout_height="@dimen/dp_280"
android:background="@drawable/background_user_settings_vehicle_info"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/userSettingsVehicleLength"
android:layout_width="@dimen/dp_224"
android:layout_height="@dimen/dp_54"
android:paddingStart="@dimen/dp_10"
android:background="@drawable/background_collect_spinner_text"
android:layout_marginTop="@dimen/dp_32"
android:layout_marginEnd="@dimen/dp_28"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@id/userSettingsVehicleWidth"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_12"
android:text="@string/vehicle_length"
android:textSize="@dimen/sp_20"
android:textColor="@color/color_ff333333"
app:layout_constraintEnd_toStartOf="@id/userSettingsVehicleLength"
app:layout_constraintTop_toTopOf="@id/userSettingsVehicleLength"
app:layout_constraintBottom_toBottomOf="@id/userSettingsVehicleLength"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/userSettingsVehicleWidth"
android:layout_width="@dimen/dp_224"
android:layout_height="@dimen/dp_54"
android:background="@drawable/background_collect_spinner_text"
android:paddingStart="@dimen/dp_10"
android:paddingEnd="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_30"
app:layout_constraintTop_toBottomOf="@id/userSettingsVehicleLength"
app:layout_constraintStart_toStartOf="@id/userSettingsVehicleLength"
app:layout_constraintEnd_toEndOf="@id/userSettingsVehicleLength"
app:layout_constraintBottom_toTopOf="@id/userSettingsDeviceHigh"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_12"
android:text="@string/vehicle_width"
android:textSize="@dimen/sp_20"
android:textColor="@color/color_ff333333"
app:layout_constraintEnd_toStartOf="@id/userSettingsVehicleWidth"
app:layout_constraintTop_toTopOf="@id/userSettingsVehicleWidth"
app:layout_constraintBottom_toBottomOf="@id/userSettingsVehicleWidth"/>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/userSettingsDeviceHigh"
android:layout_width="@dimen/dp_224"
android:layout_height="@dimen/dp_54"
android:background="@drawable/background_collect_spinner_text"
android:paddingStart="@dimen/dp_10"
android:paddingEnd="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_32"
app:layout_constraintTop_toBottomOf="@id/userSettingsVehicleWidth"
app:layout_constraintStart_toStartOf="@id/userSettingsVehicleWidth"
app:layout_constraintEnd_toEndOf="@id/userSettingsVehicleWidth"
app:layout_constraintBottom_toBottomOf="parent"/>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_12"
android:text="@string/vehicle_high"
android:textSize="@dimen/sp_20"
android:textColor="@color/color_ff333333"
app:layout_constraintEnd_toStartOf="@id/userSettingsDeviceHigh"
app:layout_constraintTop_toTopOf="@id/userSettingsDeviceHigh"
app:layout_constraintBottom_toBottomOf="@id/userSettingsDeviceHigh"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/vehicleInfoImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="51dp"
app:srcCompat="@mipmap/illustration_vehicle_size"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/vehicleInfoLayout1"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -48,5 +48,7 @@ ...@@ -48,5 +48,7 @@
<color name="color_ffebf0ff">#ffebf0ff</color> <color name="color_ffebf0ff">#ffebf0ff</color>
<color name="color_fff06313">#fff06313</color> <color name="color_fff06313">#fff06313</color>
<color name="color_ffffdbc7">#ffffdbc7</color> <color name="color_ffffdbc7">#ffffdbc7</color>
<color name="color_ffe5e5e5">#ffe5e5e5</color>
<color name="color_ff3785f8">#ff3785f8</color>
</resources> </resources>
\ No newline at end of file
...@@ -376,6 +376,7 @@ ...@@ -376,6 +376,7 @@
<dimen name="dp_358">358dp</dimen> <dimen name="dp_358">358dp</dimen>
<dimen name="dp_359">359dp</dimen> <dimen name="dp_359">359dp</dimen>
<dimen name="dp_360">360dp</dimen> <dimen name="dp_360">360dp</dimen>
<dimen name="dp_364">364dp</dimen>
<dimen name="dp_365">365dp</dimen> <dimen name="dp_365">365dp</dimen>
<dimen name="dp_370">370dp</dimen> <dimen name="dp_370">370dp</dimen>
<dimen name="dp_372">372dp</dimen> <dimen name="dp_372">372dp</dimen>
...@@ -390,6 +391,7 @@ ...@@ -390,6 +391,7 @@
<dimen name="dp_492">492dp</dimen> <dimen name="dp_492">492dp</dimen>
<dimen name="dp_500">500dp</dimen> <dimen name="dp_500">500dp</dimen>
<dimen name="dp_560">560dp</dimen> <dimen name="dp_560">560dp</dimen>
<dimen name="dp_578">578dp</dimen>
<dimen name="dp_600">600dp</dimen> <dimen name="dp_600">600dp</dimen>
<dimen name="dp_636">636dp</dimen> <dimen name="dp_636">636dp</dimen>
<dimen name="dp_652">652dp</dimen> <dimen name="dp_652">652dp</dimen>
......
...@@ -92,6 +92,17 @@ ...@@ -92,6 +92,17 @@
<string name="cancel">取消</string> <string name="cancel">取消</string>
<string name="annotation_vehicle_no">编号:%1s</string> <string name="annotation_vehicle_no">编号:%1s</string>
<string name="annotation_vehicle_speed">时速:%1d km/h</string> <string name="annotation_vehicle_speed">时速:%1d km/h</string>
<string name="user_settings_title">用户设置</string>
<string name="vehicle_info">车辆信息</string>
<string name="vehicle_type">车辆类型</string>
<string name="vehicle_id">车辆ID</string>
<string name="device_id">设备ID</string>
<string name="vehicle_length">车长(m)</string>
<string name="vehicle_width">车宽(m)</string>
<string name="vehicle_high">车高(m)</string>
<string name="network_settings">网络设置</string>
<string name="fixed_info">安装信息</string>
<string name="vehicleInfo_calibration_title">设备尺寸图示:</string>
<string-array name="collectRange"> <string-array name="collectRange">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment