我有一个对话框布局,其中放置了许多按钮。在禁用触摸屏的情况下,我添加了其他三个用于导航的按钮:向上,向下箭头和确定按钮。我找到了一个名为“ onFocusChange”的方法,但是我找不到如何使用它的方法..请帮帮我!
我使用硬键盘进行了尝试,并使用了箭头键和Enter键。 这是我的xml
<Button
android:id="@+id/nav_up"
android:layout_width="10mm"
android:layout_height="10mm"
android:background="@drawable/up"
app:layout_constraintBottom_toTopOf="@+id/linearLayout2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider"
app:layout_constraintVertical_bias="0.0" />
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingVertical="3dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:id="@+id/menu_spin"
android:layout_width="221dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:layout_weight="1"
android:background="@drawable/bg_selector"
android:nextFocusDown="@id/goTo" />
<Button
android:id="@+id/goTo"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:layout_weight="1"
android:background="@drawable/bg_selector"
android:nextFocusUp="@id/menu_spin"
android:nextFocusDown="@id/touchOn"
android:text="Go to"
android:textAllCaps="false"
android:textSize="18sp" />
</LinearLayout>
<Button
android:id="@+id/touchOn"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:background="@drawable/bg_selector"
android:nextFocusUp="@id/menu_spin"
android:nextFocusDown="@id/touchOff"
android:text="Enable touch"
android:textAllCaps="false"
android:textSize="18sp" />
<Button
android:id="@+id/touchOff"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:background="@drawable/bg_selector"
android:nextFocusDown="@id/Main"
android:text="Disable touch"
android:textAllCaps="false"
android:textSize="18sp" />
<Button
android:id="@+id/Main"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:background="@drawable/bg_selector"
android:nextFocusDown="@id/light"
android:text="Main"
android:textAllCaps="false"
android:textSize="18sp" />
<TextView
android:id="@+id/light"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:gravity="center"
android:nextFocusDown="@id/quit"
android:text="Light"
android:textAllCaps="false"
android:textSize="18sp">
</TextView>
<SeekBar
android:id="@+id/seekLight"
style="@android:style/Widget.DeviceDefault.Light.SeekBar"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:layout_weight="1"
android:max="255"
android:nextFocusDown="@id/quit"
android:progress="1">
</SeekBar>
<Button
android:id="@+id/quit"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginHorizontal="6dp"
android:layout_marginVertical="3dp"
android:background="@drawable/bg_selector"
android:text="Quit"
android:textAllCaps="false"
android:textSize="18sp" />
</LinearLayout>
<android.support.constraint.ConstraintLayout
android:id="@+id/divider"
android:layout_width="63dp"
android:layout_height="40dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
app:layout_constraintStart_toStartOf="parent"
tools:ignore="MissingConstraints"
tools:layout_editor_absoluteY="0dp"
android:focusable="false">
<Button
android:id="@+id/ok"
android:layout_width="10mm"
android:layout_height="5mm"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:background="@drawable/bg_selector"
android:text="Ok"
android:textAllCaps="false"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
<Button
android:id="@+id/nav_down"
android:layout_width="10mm"
android:layout_height="10mm"
android:background="@drawable/down"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout2"
app:layout_constraintVertical_bias="1.0" />