如何在PhoneGap应用程序中添加滚动条

3

我正在开发一个针对Android平台的PhoneGap应用。

在这个应用中,滚动条没有显示。我该如何在我的应用程序中显示滚动条?

5个回答

5

这是一个示例Activity,它将显示滚动条

public class MyActivity extends DroidGap {

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        super.loadUrl("file:///android_asset/www/index.html");

        // Display vertical scrollbar and hide horizontal scrollBar
        super.appView.setVerticalScrollBarEnabled(true);
        super.appView.setHorizontalScrollBarEnabled(false);
        // set scrollbar style
        super.appView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
    }

}

我收到一个错误:找不到符号方法setVerticalScrollBarEnabled(boolean)。你能帮我吗? - Hristo Eftimov
1
此解决方案无法工作。最后添加的三行中存在错误。我不知道它是如何被接受并获得6个赞的。 - Ram

2
滚动效果在PhoneGap/Cordova项目中是看不到的,但可以使用第三方库来实现此功能。我在我的项目中使用的一个是iscroll 4。虽然它也存在一些问题,但可以通过浏览iscroll4的谷歌组来解决。另外,jquery-mobile也可以为PhoneGap项目提供滚动效果。

默认情况下,任何HTML数据都会出现滚动条,这意味着在PhoneGap中也必须显示它,请更具体地说明您的查询,您不需要为滚动条添加任何额外的库。如果您的CSS文件中有一些内容被程序固定,请在提问时尽可能具体,这样我们才能清楚地了解问题的前景。 - Aamirkhan
@AamirPathan 当你遇到这个问题时,你就会知道我在说什么了。你可以访问http://code.ign.com/blog/2012/03/09/the-promise-of-html5-and-the-reality-of-android-fragmentation。问题是HTML中提供了overflow:scroll,但在Webview中它不起作用,所以我们不能在没有外部库的帮助下提供本地滚动效果。 - Neji
@NejiHyuga,你的回答对我很有帮助。我已经完成了。现在滚动条在我的应用程序中显示出来了。非常感谢你的帮助。 - Preet_Android

0

我们一直面临着同样的问题。Cordova在CordovaWebView.java中禁用了Web视图上的滚动条,因此我们创建了一个插件,允许您在JavaScript中以编程方式重新启用垂直滚动条,而无需对Cordova进行任何修改:

mayflower.AndroidScrollbar.toggleVerticalScrollbarVisibility(true)
.then(
    function() {
        console.log('Vertical scrollbar enabled');
    }
);

0

我正在使用Cordova 5.2+,面临着同样的挑战。但是,我在这里找到了解决方案:

  • 您可以前往:SystemWebViewEngine.java,位于 yourAppName\platforms\android\CordovaLib\src\org\apache\cordova\SystemWebViewEngine.java

  • 然后,设置:

    webView.setVerticalScrollBarEnabled(true);

希望对您有所帮助!


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接