使用webview打开浏览器
16lz
2021-01-26
第一种方式
public class MainActivity extends Activity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); // 创建一webview对象 webView = new WebView(MainActivity.this); // 需要加载的网页数据 webView.loadUrl("http://www.m.baidu.com"); // 这个activity加载的是一个webview,而不是一个布局文件 setContentView(webView); }}
第二种方式
1.在布局文件中定义一个webview控件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" <WebView android:id="@+id/webview" android:layout_width="match_parent" android:layout_height="match_parent" />LinearLayout>
2.在代码中控制
public class MainActivity extends Activity implements OnClickListener { private TextView fanhui, shuaxin, title; private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fanhui = (TextView) findViewById(R.id.fanhui); shuaxin = (TextView) findViewById(R.id.shuaxin); title = (TextView) findViewById(R.id.title); webView = (WebView) findViewById(R.id.webview); fanhui.setOnClickListener(MainActivity.this); shuaxin.setOnClickListener(MainActivity.this); title.setOnClickListener(MainActivity.this); // 默认是去调用了浏览器来加载页面数据 webView.loadUrl("http://www.taobao.com"); // 设置支持js webView.getSettings().setJavaScriptEnabled(true); // 帮助webview去处理各种通知或者请求事件 webView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { webView.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } }); // 帮助webview去处理js事件,网站的标题,加载的进度 webView.setWebChromeClient(new WebChromeClient() { public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); MainActivity.this.title.setText(title); } }); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.fanhui://返回 if (webView != null && webView.canGoBack()) { webView.goBack(); } break; case R.id.shuaxin://刷新 webView.reload(); break; } } @Override public void onBackPressed() { if (webView != null && webView.canGoBack()) { webView.goBack(); }else { super.onBackPressed(); } }}
更多相关文章
- 布局参数说明及长按某区域出现菜单
- android 可以控制速度的跑马灯
- Android(安卓)recyclerview 支持网格布局的间隙平均分割
- listview使用ArrayAdapter显示文字
- 安卓加载网页
- Android(安卓)studio button 按钮 四种绑定事件的方法
- ch05 Android布局
- 懒加载fragment基类
- android.view.InflateException报错