سام ملیک
یه سوال داشتم خدمتتون ، اینکه چطوری میشه بین صفحه هایی که یه WebView میگذره ، پراگرس دیالوگ یا پروگرس بار گذاشت تا کاربر حال کنه؟
توضیح بیشتر :
فرض کنید یک وب سایت وجود دارد که صفحه های Youame.com/index , Youame.com/no1 را دارد.
حالا وب ویو هم روی آدرس Youame.com/index ذخیره شده .
توی پیج index یه لینک هست که کاربر رو انتقال میده به پیج no1
حالا وب ویو هم میره به پیج no1 اما توی این زمانی که صفحه انتقال پیدا میکنه کاربر ممکنه خسته بشه ، حوصلش سر به یا حتی نا امید بشه و از برنامه بره بیرون
میخام مثل مرورگر ها ، یه دونه پروگرس بار یا اگه میشه وقتی که صفحه ها در حال عوض شدن هستن یه پراگرس دیالوگ بیاد برا کاربر
قابل توجه اونایی که میدونن ولی حال ندارن جواب بدن : خیلی بی مرامی
قابل توجه اونایی که نمیدونن ولی جواب میدن : برو با بزرگترت بیا بچه
قابل توجه اونایی که بهونشون اینه که کد میخان و باید از نزدیک ببینن : با دهنت سرویس » برو خط بعد
کد:
package ir.webview;import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.Toast;
public class WebView extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_web_view);
Button btn = (Button)findViewById(R.id.button1);
Typeface font = Typeface.createFromAsset(getAssets(),"font/nazanin.ttf");
WebView myWebView = (WebView) findViewById(R.id.webView1);
myWebView.setWebViewClient(new WebViewClient());
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setLoadWithOverviewMode(true);
myWebView.getSettings().setUseWideViewPort(true);
myWebView.getSettings().setBuiltInZoomControls(true);
myWebView.loadUrl("http://Youame.com/index");
if(isNetworkConnected()){ // check inteet connection
}
else{
myWebView.loadUrl("file:///android_asset/int.html"); \فایلی که توش نوشته به اینترنت وصل نیستین
btn.setText("ابتدا به اینترنت متصل شوید و سپس به این بخش وارد شوید");
}
btn.setTypeface(font);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://Youame.com/index"));
startActivity(browserIntent);
Toast.makeText(getApplicationContext(), "باز کردن در مرورگر", Toast.LENGTH_LONG).show();
}
});
}
private boolean isNetworkConnected() { // check inteet connection
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
retu false;
} else
retu true;
}
}
کلا زدم از بیخ و بن کپی پیست کردم
حالا یه بنده خدایی نیست جواب منو بده ؟
روید باکس...
ما را در سایت روید باکس دنبال می کنید
برچسب : نویسنده : کاوه محمدزادگان roid بازدید : 148 تاريخ : پنجشنبه 27 اسفند 1394 ساعت: 13:21