我在AndroidTV应用中使用while(tokenIndex < numTokens){
。我遇到的问题是,当您使用硬件控制器导航时,本机行为是焦点移动到正在显示的页面上的每个元素。我想要的是当你按下DPAD时它将向下滚动webView而不是移动到webView
正在显示的页面上的下一个对象,因为有时候在页面上可以有10个以上的可聚焦对象。会滚动哪些不是很好的用户体验。
从技术上讲,它可以包装在ScrollView中,但开发人员文档强烈反对在ScrollViews中包装可滚动项目,因为它非常低效。
有没有办法告诉webView
不要让页面上的各个元素都可以聚焦,但让webView
本身仍然可以聚焦,以便它可以滚动。
答案 0 :(得分:0)
您可以扩展WebViewClient
来抑制WebView
中的点击。然后,您可以像简单滚动视图一样滚动WebView,而不用跳转页面中的链接。示例CustomWebViewClient
:
public class CustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideKeyEvent (WebView view, KeyEvent event) {
return true; //Ignore clicks
}
}
然后将此CustomWebViewClient
设置为您的网络视图:
webView.setWebViewClient(new CustomWebViewClient() {
...
});