在Leanback VerticalGridView中获取KeyEvent问题

时间:2018-09-03 14:38:40

标签: android android-tv leanback

我有这个网格视图。问题是:焦点没有锁定在左侧。意味着,如果用户在最左边的项目被聚焦时向左按下(DPAD_LEFT),则焦点将移至上一个视图。对于最右边的项目,不会发生这种情况,当用户在最右边的项目被聚焦时按向右时,它什么也不做(这也是最左边的项目所期望的)。

这是xml,它位于FrameLayout中的Fragment中:

<android.support.v17.leanback.widget.ScaleFrameLayout
    android:layout_marginTop="@dimen/menu_margin"
    android:background="@android:color/transparent"
    android:id="@+id/scale_frame"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v17.leanback.widget.VerticalGridView
        android:id="@+id/container_list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.v17.leanback.widget.ScaleFrameLayout>

我在Activity中尝试了以下操作,但未打印日志消息:

override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {

    Log.i(TAG, "key: " + event?.keyCode)

    return super.onKeyDown(keyCode, event)
}

我想要的内容:我想锁定焦点,以便在焦点位于最左侧项目时按向左键不起作用。

0 个答案:

没有答案