Webview响应式设计在我的设备中无效

时间:2013-11-27 12:16:59

标签: android eclipse webview

我正在开发我的第一个Android应用程序,请耐心等待。在我的Android模拟器中,响应式设计工作正常,但当我创建apk并在我的设备中运行时,设计是正常的,没有响应。任何的想法? 这是我的代码:

import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebSettings.PluginState;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {

WebView myWebView;

@SuppressWarnings("deprecation")
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

     myWebView = (WebView) findViewById(R.id.webview);
     WebSettings webSettings = myWebView.getSettings();
     webSettings.setJavaScriptEnabled(true); 
     myWebView.getSettings().setPluginState(PluginState.ON); 
     myWebView.loadUrl("http://apelarse.com.ar");

     myWebView.setWebViewClient(new myWebViewClient());
}

 private class myWebViewClient extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {

        view.loadUrl(url);
        return false;
    }

        } 

     @Override
 public boolean onKeyDown(int keyCode, KeyEvent event) {

        if (keyCode == KeyEvent.KEYCODE_BACK){
            if(myWebView.canGoBack()){
                myWebView.goBack();
                return true;
            }
        }

        return super.onKeyDown(keyCode, event);
    } 
}

1 个答案:

答案 0 :(得分:0)

请尝试从这个,我认为如果网络响应布局不工作,那么它不是android侧探测其网站侧探测首先你尝试从我的代码可能会帮助你。

public class WebViewActivity extends Activity {
private WebView webview;
private static final String TAG = "Main";
private ProgressDialog progressBar;
private TextView header_maintext;
private TextView headeroptiontext;
private RelativeLayout back;
private String url_string="http://www.google.com";
private String header_maintext_string="tittle";  

/** Called when the activity is first created. */
@SuppressLint("SetJavaScriptEnabled") @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     requestWindowFeature(Window.FEATURE_NO_TITLE);
     setContentView(R.layout.webview_layout);


     url_string = getIntent().getStringExtra("url");
     header_maintext_string = getIntent().getStringExtra("header_text");

    webview = (WebView)findViewById(R.id.webview01);
    header_maintext= (TextView)findViewById(R.id.header_maintext);
    header_maintext.setText(header_maintext_string);

    headeroptiontext = (TextView)findViewById(R.id.headeroptiontext);
    headeroptiontext.setVisibility(View.GONE);

    WebSettings settings = webview.getSettings();
    settings.setJavaScriptEnabled(true);
    webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(true);

      back = (RelativeLayout) findViewById(R.id.back_layout);
      back.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) 
        {
            // TODO Auto-generated method stub
            if(webview.canGoBack() == true)
                {
                    webview.goBack();
                }
            else
                {
                    finish();
                }
         }
    });

    final AlertDialog alertDialog = new AlertDialog.Builder(this).create();

    progressBar = ProgressDialog.show(WebViewActivity.this, "tittle", "Loading...");

    webview.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            view.loadUrl(url);
            return true;
        }

        public void onPageFinished(WebView view, String url) {
            Log.i(TAG, "Finished loading URL: " +url);
            if (progressBar.isShowing()) {
                progressBar.dismiss();
            }
        }

        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

            Toast.makeText(WebViewActivity.this, "Oh no! " + description, Toast.LENGTH_SHORT).show();
            alertDialog.setTitle("Error");
            alertDialog.setMessage(description);
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int which) {
                    return;
                }
            });
            alertDialog.show();
        }
    });
    webview.loadUrl(url_string);


}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if(event.getAction() == KeyEvent.ACTION_DOWN){
        switch(keyCode)
        {
        case KeyEvent.KEYCODE_BACK:
            if(webview.canGoBack() == true){
                webview.goBack();
            }else{
                finish();
            }
            return true;
        }

    }
    return super.onKeyDown(keyCode, event);
 }
}