我正在开发一个具有多个
edittext
的应用程序。
当 edittext
占据整个宽度时,nextfocusdown
工作正常。
但是当有两个 edittext
处于相同高度时(每个编辑文本占据宽度的一半),我想将焦点从左边的一个转移到右边的一个。
但是当我在 xml 中写入 nextFocusRight="id/EDIT_RIGHT"
时,焦点不会转到右侧 edittext
而是转到左侧下方的 edittext
。
<!-- EDIT LEFT-->
<EditText
android:id="@+id/EDIT_LEFT"
android:layout_width="165dp"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:hint="@string/edit_left_hint"
android:nextFocusRight="@id/EDIT_RIGHT"
tools:ignore="Autofill"/>
<!-- EDIT RIGHT-->
<EditText
android:id="@+id/EDIT_RIGHT"
android:layout_width="165dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:hint="@string/edit_right_hint"
android:nextFocusDown="@id/EDIT_DOWN"
tools:ignore="Autofill"/>
你必须这样使用 -
<!-- EDIT LEFT-->
<EditText
android:id="@+id/EDIT_LEFT"
android:layout_width="165dp"
android:layout_height="wrap_content"
android:layout_marginEnd="10dp"
android:hint="@string/edit_left_hint"
android:imeOptions="actionNext"
android:nextFocusRight="@+id/EDIT_RIGHT"
tools:ignore="Autofill"/>
<!-- EDIT RIGHT-->
<EditText
android:id="@+id/EDIT_RIGHT"
android:layout_width="165dp"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:hint="@string/edit_rgiht_hint"
android:imeOptions="actionNext"
android:nextFocusDown="@id/EDIT_DOWN"
tools:ignore="Autofill"/>
您应该使用 android:nextFocusRight="@+id/EDIT_RIGHT" 而不是 android:nextFocusRight="@id/EDIT_RIGHT" 因为您在创建它之前使用此 edittext 并使用 imeOptions。
使用 android:nextFocusDown="@id/EDIT_DOWN" 使用 android:nextFocusForward="@+id/EDIT_DOWN"
<EditText
android:layout_width="250dp"
android:layout_height="@dimen/edt_height"
android:background="@drawable/edt_back_shape"
android:hint="Enter email"
android:layout_marginStart="@dimen/size_5dp"
android:text="@={viewmodel.email,default=``}"
android:paddingStart="@dimen/size_10dp"
android:id="@+id/emailEdt"
android:inputType="textEmailAddress"
android:imeOptions="actionNext"
android:nextFocusForward="@+id/websiteEdt"
android:textSize="@dimen/form_edt_text_sizes"
app:layout_constraintStart_toEndOf="@+id/stNoEdt"
app:layout_constraintTop_toBottomOf="@+id/emailTitle"
android:fontFamily="@font/poppins_light"
/>