问题标签 [d-pad]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
react-native - React Native for Android TV - 焦点输入/输出事件问题
我刚刚部署了一个使用 react native 0.57 构建的 Android TV 演示应用程序。但是,我注意到 Focusable 元素无法正常工作。我期待焦点在带有事件 onPressIn / onPressOut 的 TouchableOpacity 和 TouchableHighlight 元素上打开/关闭,但它不起作用。当我使用 D-pad 键(左、右、上、下)浏览此元素时,样式保持不变。另外,我在 Android Emulator 上遇到了同样的问题。
我能够确认 onPress 事件正在工作,因为当我按下方向键“选择”键时,附加到事件的任务就会发生。
我没有看到任何错误。我将分享下面的代码和我的环境设置,希望能得到一些帮助或任何指导。
反应原生环境信息:
android - 潜在的 Glide 错误 - 在 Android TV 上使用 Dpad 快速滚动时,RecyclerView 项目失去焦点
我正在尝试为 Android TV 制作一个基本的相册应用程序。
使用带有滑行的 recyclerview。
问题:当通过按下 dpad 向下按钮慢慢滚动时,recyclerview 项目会如预期准确地获得焦点。但是,当按住 dpad 向下按钮时,在快速滚动期间,recyclerview 项目很容易失去焦点,并且焦点会移动到 recyclerview 之外的任何可聚焦视图(在本例中为编辑文本),并且在手动将焦点移动到 recyclerview 内之前无法滚动再次。
尝试的补救措施: 1. 如果我完全禁用 Glide 的图像加载(在 onBindViewHolder() 内部),焦点永远不会丢失,无论滚动速度有多快,它总是按预期工作。此补救措施没有用,因为需要查看图像。2. 如果快速滚动受到覆盖 Activity.onKeyDown 方法的限制,以忽略所有键输入,除非自上次 keydown 以来已过去 300 毫秒。同样,这感觉非常hacky,并且完全禁用快速滚动是绝对要求。
请注意,我已经阅读了有关 stackoverflow 的相关 QA。这表明这是 Android 支持库 LayoutManager 代码中的一个错误,这里不是这种情况,因为没有滑行它可以正常工作。
如何重现:创建一个像 ListFragment 一样的片段(下面的代码)并通过按住 Down Dpad 按钮尝试快速滚动,您将看到 editText 不断获得焦点。
代码:ListFragment.java
布局:item_recycler_view.xml
片段列表.xml
android - RecyclerView 自动滚动到列表底部 d-pad
我有一个问题,如果 RecyclerView 有很多项目(超过 180 个),当我单击第一行的 D-PAD Down 时,用户会自动向下滚动到列表底部。我为此列表使用了 GridLayout。
这是我的自定义回收站视图onDispatchEvent()
:
这是视图:
加载大约 120-130 个项目时不会出现此问题。有没有人遇到过这种类型的自动滚动?
android - Dpad 专注于特定视图
我有一个初始屏幕,在那个屏幕中,我有几个视图,如 videoView、imageView 和按钮。我想在活动开始时将注意力集中在我的按钮上,这样如果我从电视遥控器按确定,它应该转到下一个活动,到目前为止,我已经尝试了很多事情,比如可聚焦为真正的 android:focusedByDefault="true"但我无法将焦点放在按钮上
react-native-android - React Native Android TV 专注于 Flatlist 项目
您好,我正在使用 React Native 62.2 并设法让 TVEventHandler 正常工作。在同一个组件上,我正在使用一个按钮和一个平面列表。焦点正在使用 D Pad 从按钮移动到平面列表,并且当反复单击时,我能够在使用 D Pad 时触发事件并且能够触发事件焦点,模糊,向上,向下,我认为这是 Flatlist 项目,因为它在一些点击后向下滚动,并且在按下向上按钮时以同样的方式向上滚动。
我的 Flatlist 项目的代码是:
您能帮我看看如何为平面列表项目管理焦点,在焦点上,背景颜色会发生变化(这发生在平面列表上方的按钮上),并且在模糊时它应该被取消选择。
android - Android TV 方向键的 KeyEvent
在活动中,我在工具栏中有 TabLayout、ViewPager 和菜单按钮(汉堡包)。
默认情况下,使用键盘上的箭头,我正在从选项卡移动到查看寻呼机项目而没有问题,但我无法将焦点放在工具栏菜单按钮上。
首先,当 KeyEvent.KEYCODE_DPAD_UP 被按下时我听不到,我想知道为什么。
我的代码:
我的 if 语句有什么问题?
android - 在recyclerview项目android中更改视图之间的焦点
我正在为 Android TV 改编我的应用程序。
我有带有物品的 RecyclerView。每个项目包括三个 LinearLayouts。
我的问题是:我可以分别关注这三个 LinearLayouts 而不是全部项目(LLChannel)焦点吗?如何?
UPD 17:12 10.07.2020:
为每个 LinearLayout 添加这些东西对我没有帮助:
UPD 12.07.2020:有什么想法可以实现吗?
UPD 13.07.2020:这很容易。我稍后会回答我自己的问题。
android - Flutter Android TV 应用无法使用 D Pad 进行选择
我正在使用 Flutter 开发 Android TV 应用程序。我能够运行该应用程序(现在是示例应用程序)。但我无法使用 d pad 选择按钮选择任何内容。
我发现我必须使用这样的东西才能实现这一点
捷径(
但它在代码中给了我一个错误。我究竟做错了什么?
任何帮助表示赞赏。谢谢你。
android - 如何使 DPAD 可以访问 android TV 应用程序?
我已经为 Android TV 创建了一个 Android 应用程序,我想知道如何在我的菜单中启用 D-pad 导航。我是 android TV 应用程序的新手,找不到任何其他方法来做同样的事情。对于菜单,我添加了 4 个 TextView,但 D-Pad 无法访问它们,是否有任何其他方法可以让 DPAD 访问它们,或者我应该为此使用任何其他视图。
这是布局文件: