我已经GridView
在 Android TV 应用上实现了显示来自特定频道的 YouTube 视频。我想要的是按下应该播放的焦点Ok
键,如果它是列表的末尾,则应该滚动。如果滚动有效,则在项目焦点上不起作用并且未选择项目,如果选择并播放了项目,则不会滚动。我对这个概念感到困惑,因为如何使项目集中工作。我正在分享我所做的代码,希望有人能够解决我的问题。我想要像手机这样的正常功能,我们滚动并选择我们想要选择的任何一个Item
keyDown
GridView
GridView
GridView
Item
GridView
,但这里我们没有触摸屏,只有遥控器。在当前场景中选择了项目,但滚动不起作用。
<GridView
android:descendantFocusability="afterDescendants"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="4"
android:id="@+id/gridview"
android:layout_marginLeft="5dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:verticalSpacing="5dp"
android:horizontalSpacing="5dp"></GridView>
// bg_select
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bg_focused" android:state_focused="true"></item>
<item android:drawable="@drawable/bg_round"></item>
</selector>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:focusable="true"
android:id="@+id/card_view"
android:layout_margin="16dp"
android:background="@drawable/bg_select"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center"
>
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="4dp"
/>
<TextView
android:layout_margin="16dp"
android:textAlignment="center"
android:textColor="#FFF"
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="15sp"
android:text="Fragment List"/>
</LinearLayout>
</LinearLayout>