首页 > 代码库 > webview的
webview的
====================问题描述====================
我给WEBVIEW加了等待的圆圈,怎么不起作用?
布局文件:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent"/><ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:max="100" android:progress="50" android:secondaryProgress="70" android:layout_gravity="center" android:visibility="gone"/></LinearLayout>
主程序代码:
package com.ruihuo.talk;import com.ruihuo.talk.R;import android.annotation.SuppressLint;import android.app.Activity;import android.graphics.Bitmap;import android.os.Bundle;import android.util.Log;import android.view.KeyEvent;import android.view.View;import android.view.Window;import android.webkit.WebView;import android.webkit.WebViewClient;import android.net.http.SslError;import android.webkit.SslErrorHandler;import android.widget.ProgressBar;import android.widget.Toast;public class MainActivity extends Activity { /** Called when the activity is first created. */ private WebView webview; private ProgressBar myProgressBar;@SuppressLint("SetJavaScriptEnabled")@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow();requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.main);myProgressBar = (ProgressBar)findViewById(R.id.progressBar);myProgressBar.setIndeterminate(false); webview=(WebView)findViewById(R.id.webview); webview.setWebViewClient(new WebViewClient() { public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){ //handler.cancel(); // Android默认的处理方式 handler.proceed(); // 接受所有网站的证书 //handleMessage(Message msg); // 进行其他处理 } public void onPageStarted(WebView webview, String url, Bitmap favicon) { super.onPageStarted(webview, url, favicon); myProgressBar.setVisibility(View.VISIBLE); } //加载完成时要做的工作 public void onPageFinished(WebView webview, String url) { super.onPageFinished(webview, url); myProgressBar.setVisibility(View.GONE); } // 加载错误时要做的工作 public void onReceivedError(WebView webview, int errorCode,String description, String failingUrl) { Toast.makeText(MainActivity.this, errorCode+ "/" + description, Toast.LENGTH_LONG) .show(); } }); //去掉横向滚动条 webview.setHorizontalScrollBarEnabled(false); //去掉垂直滚动条 webview.setVerticalScrollBarEnabled(false); //去掉百边 webview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); //设置WebView属性,能够执行JavaScript脚本 webview.getSettings().setJavaScriptEnabled(true); //加载URL内容 webview.loadUrl("https://www.test.com/");} //设置回退 public boolean onKeyDown(int keyCode,KeyEvent event) { if((keyCode==KeyEvent.KEYCODE_BACK)&&webview.canGoBack()) { webview.goBack(); return true; } return super.onKeyDown(keyCode,event); } //web视图客户端 public class MyWebViewClient extends WebViewClient { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }}
希望达到的效果是,启动程序后,出现圆圈转动,等待页面加载好,圆圈就消失.目前程序可以运行,单是看不到圆圈.求解决
也就是myProgressBar.setVisibility(View.VISIBLE);
没起作用.
====================解决方案1====================
布局文件中,将ProgressBar的android:visibility="gone"改为android:visibility="invisible"
====================解决方案2====================
myProgressBar.setIndeterminate(false);这行代码做什么的?
mIndeterminate为true的情况,去setVisible()才能有动画。
====================解决方案3====================
把linearlayout改成relativelayout ,并设置progressbar Android:centerinparent="true"
====================解决方案4====================
难道你们没有发现是布局问题吗?
====================解决方案5====================
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" > <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" android:max="100" android:progress="50" android:secondaryProgress="70" android:layout_centerInParent="true" android:visibility="visible"/></RelativeLayout >
webview的
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。