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"> <WebViewandroid: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") @Overridepublic?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====================
引用?6?樓?lionfresh?的回復:Quote: 引用?3?樓?ruihuo?的回復:
Quote: 引用?1?樓?lionfresh?的回復:
布局文件中,將ProgressBar的android:visibility="gone"改為android:visibility="invisible"
改這個也無效.
引用?3?樓?ruihuo?的回復:Quote: 引用?1?樓?lionfresh?的回復:
布局文件中,將ProgressBar的android:visibility="gone"改為android:visibility="invisible"
改這個也無效.
那我建議你使用ProgressDialog來實現,進度旋轉,因為你現在用的方法已經很少用了。
難道你們沒有發現是布局問題嗎?
====================解決方案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"><WebViewandroid: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?>
轉載于:https://www.cnblogs.com/lianxu61/p/4002155.html
總結
- 上一篇: CentOS yum安装mcrypt详细
- 下一篇: [BZOJ 2594] [Wc2006]