混合应用程序不显示滚动条
Posted
技术标签:
【中文标题】混合应用程序不显示滚动条【英文标题】:Hybrid application not showing scroll bar 【发布时间】:2014-09-03 21:56:41 【问题描述】:我的 WL6.1.0.1 混合应用程序有一个溢出(将 css 设置为 -webkit-overflow-scrolling: touch)滚动得很好,但我没有看到滚动条,也没有看到我点击时的 android 反馈卷轴的底部(android 拥有的那种发光的光)。
奇怪的是,如果我使用 Android 设备上的 chrome 浏览器通过“公共资源”访问同一个应用程序,滚动条和反馈都会显示。
我将以下代码添加到本机端的主 java 类(扩展 WLDroidGap 并具有应用程序名称的类)
public void onWLInitCompleted(Bundle savedInstanceState)
super.loadUrl(getWebMainFilePath());
// Add custom initialization code after this line
this.appView.setVerticalScrollBarEnabled(true);
this.appView.setVerticalScrollbarOverlay(true);
但它仍然不起作用,有什么想法吗?
【问题讨论】:
使用实际应用程序可能更容易调试。您能否创建一个仅复制这一问题的测试用例应用程序? 这说明了问题:drive.google.com/file/d/0B8lqvS9F1fUSR1YxcUN5VTNOQTA/… 我可以在这里复制它。 @Leandro,感谢您的应用程序。看我的回答。 【参考方案1】:对于“反馈”,您可能指的是EdgeEffect(到达视图底部时)。如果是这样,它对我来说是这样的:
public void onWLInitCompleted(Bundle savedInstanceState)
super.loadUrl(getWebMainFilePath());
// Add custom initialization code after this line
this.appView.setOverScrollMode(appView.OVER_SCROLL_ALWAYS);
您也可以在onCreate
中设置它...
为了显示滚动条,我认为您需要结合使用awakenScrollBars() 和setVerticalScrollBarEnabled
。
也就是说,我不知道您的应用程序的用例,但通常在应用程序中您不希望滚动条,除非专门在列表或类似的东西中(甚至可能不那里...)。
此外,由于您正在 Worklight 中开发混合应用程序并且可能针对其他环境,因此可以使用替代解决方案而不是深入研究本机代码,例如使用 iScroll,它不仅可以处理滚动,还可以处理“反弹”效果和其他东西。
【讨论】:
以上是关于混合应用程序不显示滚动条的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 无法正常工作(它返回顶部并且不显示任何滚动条