desc:edittext焦点处理

main
xiaowusky 2 years ago
parent d15ea8af8d
commit dd7dfed3a6

@ -78,7 +78,8 @@
<activity
android:name=".watcher.ui.SensorSettingActivity"
android:exported="false"
android:screenOrientation="landscape" />
android:screenOrientation="landscape"
android:windowSoftInputMode="adjustPan"/>
<activity
android:name=".watcher.ui.QueryDataActivity"
android:exported="false"

@ -1,10 +1,12 @@
package com.yinuo.safetywatcher.watcher.ui
import android.content.Intent
import android.view.KeyEvent
import android.view.View
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivitySensorSettingBinding
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
import com.yinuo.safetywatcher.watcher.utils.showIme
class SensorSettingActivity : NoOptionsActivity() {
private val mBinding by lazy {
@ -28,5 +30,26 @@ class SensorSettingActivity : NoOptionsActivity() {
)
)
}
mBinding.etName.setOnKeyListener(View.OnKeyListener { _, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_DPAD_UP) {
if (event.action == KeyEvent.ACTION_DOWN) {
tryFocusBackArea()
return@OnKeyListener true
}
} else if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
if (event.action == KeyEvent.ACTION_DOWN) {
mBinding.tvWarnSetting.requestFocus()
return@OnKeyListener true
}
} else if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER || keyCode == KeyEvent.KEYCODE_ENTER){
if (event.action == KeyEvent.ACTION_DOWN) {
mBinding.etName.showIme()
return@OnKeyListener true
}
}
return@OnKeyListener false
}
)
}
}

@ -27,6 +27,9 @@ class SensorAdapter :
override fun bindView(data: GasType) {
val context = binding.root.context
binding.root.setOnClickListener {
binding.sensorSetting.performClick()
}
binding.sensorSetting.setOnClickListener {
context.startActivity(Intent(context, SensorSettingActivity::class.java))
}

@ -2,7 +2,10 @@ package com.yinuo.safetywatcher.watcher.utils
import android.content.Context
import android.graphics.drawable.StateListDrawable
import android.inputmethodservice.InputMethodService
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.content.res.AppCompatResources
import com.yinuo.safetywatcher.watcher.ui.view.CommonToast
@ -25,3 +28,8 @@ fun View?.trySetCommonBg() {
this.background = bg
}
}
fun EditText.showIme(){
val manager = this.context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
manager?.showSoftInput(this, 0)
}

@ -14,22 +14,26 @@
android:textColor="@color/white"
android:textColorHint="@color/white"
android:hint="@string/sensor_name_txt"
android:singleLine="true"
android:paddingStart="@dimen/_30dp"
android:focusable="true"
android:nextFocusDown="@id/et_name"
android:background="@drawable/cloud_sync_btn_bg"/>
<EditText
<TextView
android:id="@+id/et_step"
android:layout_width="@dimen/_600dp"
android:layout_height="@dimen/_100dp"
android:layout_marginTop="@dimen/_40dp"
android:textSize="@dimen/_30dp"
android:gravity="center_vertical"
android:textColor="@color/white"
android:textColorHint="@color/white"
android:hint="@string/sensor_step_txt"
android:paddingStart="@dimen/_30dp"
android:background="@drawable/cloud_sync_btn_bg"/>
<RelativeLayout
<!--<RelativeLayout
android:layout_width="@dimen/_600dp"
android:layout_height="@dimen/_100dp"
android:layout_marginTop="@dimen/_40dp"
@ -54,7 +58,7 @@
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/_30dp"/>
</RelativeLayout>
</RelativeLayout>-->
<TextView
android:id="@+id/tv_warn_setting"
@ -65,6 +69,7 @@
android:gravity="center"
android:textSize="@dimen/_30dp"
android:text="@string/sensor_warn_setting_txt"
android:focusable="true"
android:background="@drawable/warn_setting_btn_bg"/>
<LinearLayout
@ -79,6 +84,7 @@
android:textColor="@color/white"
android:gravity="center"
android:text="@string/save"
android:focusable="true"
android:textSize="@dimen/_30dp"
android:background="@drawable/save_btn_bg"/>
@ -90,6 +96,7 @@
android:textColor="@color/white"
android:gravity="center"
android:textSize="@dimen/_30dp"
android:focusable="true"
android:text="@string/sensor_init_txt"
android:background="@drawable/sensor_init_btn_bg"/>
</LinearLayout>

Loading…
Cancel
Save