【问题标题】: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);
}

但它仍然不起作用,有什么想法吗?

【问题讨论】:

  • 使用实际应用程序可能更容易调试。您能否创建一个仅复制这一问题的测试用例应用程序?
  • 我可以在这里复制它。
  • @Leandro,感谢您的应用程序。看我的回答。

标签: java android scrollbar ibm-mobilefirst


【解决方案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,它不仅可以处理滚动,还可以处理“反弹”效果和其他东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多