相关疑难解决方法(0)

Android PhoneGap插件,UI标签栏,调整WebView大小

我正在创建一个美味的PhoneGap插件,希望它一旦准备好就会被打开..插件大部分都已完成,我只需要一个很好的UI用户交互.

简而言之,我想创建一个"原生"android工具栏组件.如果您为Decaf Ninja Software实施IOS的PhoneGap UIControls Tabbar库,您将如何做.

理想的情况下;

  • 应该从JavaScript通过PhoneGap调用工具栏到"显示"和"隐藏".
  • 在这些调用中,当工具栏从屏幕底部出现/消失时, WebView appView会调整大小.

我可以在启动时调整appView的大小;

super.init();

//re-configure appView layout
super.appView.setLayoutParams(new LinearLayout.LayoutParams(width,
height));
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是正确的方法,同样,我怎么能在运行时这样做呢?(webview应该是应用程序启动时的fill_parent)我假设我不能在运行时中期使用XML表来更改布局.PhoneGap库以编程方式处理所有布局,因此我应该将XML保留在其中.

此外,由于appView受到保护,除非我没有在我的活动中扩展DroidGap,否则很难玩这个:(

DroidGap.class

/*  184 */     this.root = new LinearLayoutSoftKeyboardDetect(this, width, height);
/*  185 */     this.root.setOrientation(1);
/*  186 */     this.root.setBackgroundColor(-16777216);
/*  187 */     this.root.setLayoutParams(new LinearLayout.LayoutParams(-1, -1, 0.0F));
Run Code Online (Sandbox Code Playgroud)

然后,

/*  208 */     this.appView = new WebView(this);
/*  209 */     this.appView.setId(100);
/*  211 */     this.appView.setLayoutParams(new LinearLayout.LayoutParams(-1, -1, 1.0F));
Run Code Online (Sandbox Code Playgroud)

和,

/*  249 */     bindBrowser(this.appView);
/*      */ 
/*  252 */     this.appView.setVisibility(4);
/* …
Run Code Online (Sandbox Code Playgroud)

java plugins android webview cordova

13
推荐指数
1
解决办法
4538
查看次数

将加载指示符/进度条添加到Phonegap Android启动画面

我有一个PhoneGap 1.4.1/jQueryMobile 1.0.1/Android项目,它显示res/drawable/splash.png就好了,一旦加载了WebView,启动画面就会消失.

我想在启动画面中添加某种进度指示器百分比文本,但到目前为止还没有成功.

我过去通过使用像这样的普通webview取得了成功:

myWebView.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageFinished(WebView view, String url) {
        myLoadingView.setVisibility(View.GONE);
        myWebView.setVisibility(View.VISIBLE);
    }
});
myWebView.loadUrl(...);
Run Code Online (Sandbox Code Playgroud)

但所有这只是一个带有进度指示器文本和背景图像的布局,可以通过以下方式更新:

myWebView.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress) {
        myLoadingView.setText(progress+"%");
    }
});
Run Code Online (Sandbox Code Playgroud)

有谁知道如何将这个功能添加到现有的PhoneGap实现中,或者知道我如何用自己的实现替换PhoneGap?

android splash-screen webview jquery-mobile cordova

9
推荐指数
2
解决办法
2万
查看次数