未选择Android电视按钮

时间:2016-07-05 17:43:05

标签: android android-layout android-tv smart-tv

我遇到了显示布局的问题。 放置可见时,Relativelayout @ + id / media不可见。他仍然在Relativelayout @ + id / media2下,可以从dpad中选择,但仍然在另一个之下。

如果部件并将media2放入第一和第二媒体。当媒体可见时,但无法选择dpad。

有一定的顺序使媒体虽然先写在媒体2之上吗? 谢谢

布局

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    android:id="@+id/app_video_box"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="#000"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/media"
        android:layout_marginLeft="32dp"
        android:layout_marginRight="32dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:gravity="center_vertical|center_horizontal|center"
            android:layout_marginLeft="32dp"
            android:layout_marginRight="32dp"
            android:animateLayoutChanges="true"
            android:background="#e72a2a"
            android:id="@+id/relativeLayout">

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Back"
                android:id="@+id/button2"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/button"
                android:layout_toEndOf="@+id/button" />
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Play"
                android:id="@+id/button" />

            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Next"
                android:id="@+id/button3"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/button2"
                android:layout_toEndOf="@+id/button2" />

        </RelativeLayout>

        <SeekBar
            android:id="@+id/app_video_seekBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:focusable="true"
            android:layout_above="@+id/relativeLayout"
            android:layout_alignLeft="@+id/relativeLayout"
            android:layout_alignStart="@+id/relativeLayout"
            android:layout_alignRight="@+id/relativeLayout"
            android:layout_alignEnd="@+id/relativeLayout" />


    </RelativeLayout>
    <RelativeLayout
        android:id="@+id/media2"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <tcking.github.com.giraffeplayer.IjkVideoView
            android:id="@+id/video_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    </RelativeLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

好像你正试图控制对屏幕上不同项目的关注。您可以专门为此使用XML标记:

android:nextFocusForward="@+id/media2"

android:nextFocusDown="@+id/media2"

您可以查看docs for keyboard navigation了解详情。

答案 1 :(得分:0)

在Android TV中,只有ui元素可以聚焦时才会被选中。 通过xml属性或代码实现此目的。

view.setFocusable(true)

android:focusable="true".

并为要转移焦点的每个ui元素设置规则。

android:nextFocus{direction}="view_id".

方向可以向下,向上,向右或向左

可聚焦的项目