2017-02-03 4 views
0

Я использую webview, и когда нет Интернета, мне нравится отображать png в моем фрагменте. Но png не занимает весь экран. Вот мой код -загрузить webview с изображением fullscreen

@Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(....); 


     webview = (WebView)view.findViewById(R.id.webview1); 

     webview.getSettings().setJavaScriptEnabled(true); 
     webview.setWebViewClient(new WebClient(getActivity())); 
     webview.loadUrl(url); 

     return view; 
    } 

    public class WebClient extends android.webkit.WebViewClient { 
    Context mActivity; 

    public WebClient(Context context){ 
     mActivity = context; 
    } 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 

     return false; 

    } 

    public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
     view.setBackgroundColor(0); 
     view.loadUrl("file:///android_res/drawable/no_internet.png"); 
    } 

} 
+0

Смотрите это: HTTP: //stackoverflow.com/questions/10395292/android-webview-scaling -изображение к отделке на экране – rafsanahmad007

ответ

0

Эй, ты это просто вы просто должны установить высоту и ширину загружаемой хитрость URL-адрес в на onReceivedError.

Display display = getWindowManager().getDefaultDisplay(); 
int width=display.getWidth(); 

String data="<html><head><title>Example</title><meta name=\"viewport\"\"content=\"width="+width+", initial-scale=0.65 \" /></head>"; 
data=data+"<body><center><img width=\""+width+"\" src=\""+url+"\" /></center></body></html>"; 
webView.loadData(data, "text/html", null); 

и вы сделали с проблемой :)

Другой способ попробовать с

WebSettings settings = webView.getSettings(); 
settings.setUseWideViewPort(true); 
settings.setLoadWithOverviewMode(true); 
Смежные вопросы