desc:焦点控制

main
xiaowusky 2 years ago
parent 7c91d01082
commit 770f13408c

@ -11,6 +11,8 @@ import android.widget.LinearLayout
import android.widget.RelativeLayout
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.AppCompatRadioButton
import com.loper7.date_time_picker.number_picker.NumberPicker
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivityBaseBinding
import com.yinuo.safetywatcher.watcher.constant.NAMESPACE_ANDROID
@ -117,9 +119,15 @@ abstract class BaseActivity : AppCompatActivity() {
return when (name) {
"LinearLayout" -> LinearLayout(context, attrs)
"TextView" -> TextView(context, attrs)
"com.loper7.date_time_picker.number_picker.NumberPicker" -> NumberPicker(context, attrs)
"androidx.appcompat.widget.AppCompatRadioButton" -> AppCompatRadioButton(context, attrs)
else -> {
null
}
}
}
fun tryFocusBackArea(){
baseBinding.topBar.tryFocusBackArea()
}
}

@ -3,8 +3,12 @@ package com.yinuo.safetywatcher.watcher.ui
import android.content.Context
import android.content.Intent
import android.text.TextUtils
import android.view.KeyEvent
import android.view.View
import android.view.View.OnKeyListener
import androidx.core.view.isVisible
import com.loper7.date_time_picker.DateTimeConfig.MIN
import com.loper7.date_time_picker.DateTimeConfig.YEAR
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivityChooseParamsBinding
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
@ -102,6 +106,31 @@ class ChooseParamsActivity : NoOptionsActivity() {
}
}
set4focus()
}
private fun set4focus() {
val startYearPicker = mBinding.startPicker.getPicker(YEAR)
startYearPicker?.setOnKeyListener(OnKeyListener { _, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT) {
if (event.action == KeyEvent.ACTION_DOWN) {
tryFocusBackArea()
return@OnKeyListener true
}
}
return@OnKeyListener false
})
val endMinPicker = mBinding.endPicker.getPicker(MIN)
endMinPicker?.setOnKeyListener(OnKeyListener { _, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
if (event.action == KeyEvent.ACTION_DOWN) {
mBinding.rbS30.requestFocus()
return@OnKeyListener true
}
}
return@OnKeyListener false
})
}
private fun returnDataback() {

@ -174,4 +174,8 @@ class CommonTopBar : LinearLayout {
WifiHelper.removeCallback(wifiCallback)
SimHelper.removeCallback(simCallback)
}
fun tryFocusBackArea(){
mBinding?.backArea?.requestFocus()
}
}

@ -141,6 +141,8 @@
android:id="@+id/rb_s_30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/_6dp"
android:focusable="true"
android:text="@string/second_30"
android:textColor="@color/white"
android:textSize="@dimen/_28dp" />
@ -149,6 +151,8 @@
android:id="@+id/rb_m_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/_6dp"
android:focusable="true"
android:text="@string/minute_1"
android:textColor="@color/white"
android:layout_marginStart="@dimen/_20dp"
@ -158,6 +162,8 @@
android:id="@+id/rb_m_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/_6dp"
android:focusable="true"
android:text="@string/minute_3"
android:textColor="@color/white"
android:layout_marginStart="@dimen/_20dp"
@ -167,6 +173,8 @@
android:id="@+id/rb_m_5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingHorizontal="@dimen/_6dp"
android:focusable="true"
android:text="@string/minute_5"
android:textColor="@color/white"
android:layout_marginStart="@dimen/_20dp"
@ -203,6 +211,8 @@
android:layout_height="@dimen/_81dp"
android:background="@drawable/confirm_btn_bg"
android:layout_marginTop="@dimen/font_46dp"
android:focusable="true"
android:nextFocusRight="@id/tv_confirm"
android:gravity="center"
android:text="@string/confirm"
android:textColor="@color/white"

@ -10,6 +10,7 @@
android:id="@+id/np_datetime_year"
android:layout_width="@dimen/_121dp"
android:layout_height="wrap_content"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
@ -21,6 +22,7 @@
android:id="@+id/np_datetime_month"
android:layout_width="@dimen/_90dp"
android:layout_height="wrap_content"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/np_datetime_year"
app:layout_constraintTop_toTopOf="parent"
@ -32,6 +34,7 @@
android:id="@+id/np_datetime_day"
android:layout_width="@dimen/_90dp"
android:layout_height="wrap_content"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/np_datetime_month"
app:layout_constraintTop_toTopOf="parent"
@ -44,6 +47,7 @@
android:layout_width="@dimen/_90dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/np_datetime_day"
app:layout_constraintTop_toTopOf="parent"
@ -55,6 +59,7 @@
android:id="@+id/np_datetime_minute"
android:layout_width="@dimen/_90dp"
android:layout_height="wrap_content"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/np_datetime_hour"
app:layout_constraintTop_toTopOf="parent"

Loading…
Cancel
Save