上下导航Android菜单并确认按钮,例如旧系统菜单

时间:2019-03-01 18:23:25

标签: android

我有一个对话框布局,其中放置了许多按钮。在禁用触摸屏的情况下,我添加了其他三个用于导航的按钮:向上,向下箭头和确定按钮。我找到了一个名为“ 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" />

0 个答案:

没有答案