Android开发:控件之WebView
作者:本站整理 时间:2016-03-15
如何在Android应用中打开Web网站呢?谷歌为我们提供了解决方案,现在就让我们一起看一下WebView控件吧。
为了方便总结,就以实现下面这个效果为主线,进行总结:
首先我们先看一下它的布局文件吧,整个界面分为上下两个部分,上部是一个类似于标题栏的效果,它是由两个Button按钮和一个TextView组成的,下部是一个WebView控件,通过AndroidManifest.xml去除系统的标题(如有不懂,请查阅我的上一遍博客:Android常用属性),已达到上图效果。为方便大家自学,下面奉上代码:
- <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"
- tools:context=".MainActivity">
- <LinearLayout
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:weightSum="1">
- <Button
- android:id="@+id/quit"
- android:layout_gravity="left"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="返回"/>
- <TextView
- android:id="@+id/web"
- android:layout_gravity="center"
- android:gravity="center"
- android:layout_width="222dp"
- android:layout_height="wrap_content"
- android:layout_weight="1.13" />
- <Button
- android:id="@+id/news"
- android:layout_gravity="right"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="刷新"/>
- </LinearLayout>
- <WebView
- android:id="@+id/webView"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"/>
- </LinearLayout>
最后我们开始编写我们MainActivity.java:
- public class MainActivity extends Activity {
- private TextView mTextView;
- private WebView mWebView;
- private Button mbreak;
- private Button mnews;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- init();
- }
- public void init(){
- mTextView = (TextView)findViewById(R.id.web);
- mWebView = (WebView)findViewById(R.id.webView);
- mbreak = (Button)findViewById(R.id.quit);
- mnews = (Button)findViewById(R.id.news);
- mbreak.setOnClickListener(new myListener());
- mnews.setOnClickListener(new myListener());
- mWebView.loadUrl("http://www.baidu.com/");//设置打开的网址
- mWebView.setWebChromeClient(new WebChromeClient(){
- @Override
- public void onReceivedTitle(WebView view, String title) {
- super.onReceivedTitle(view, title);
- mTextView.setText(title);//显示打开的网址信息
- }
- });
- mWebView.setWebViewClient(new WebViewClient(){
- @Override
- public boolean shouldOverrideUrlLoading(WebView view, String url) {
- view.loadUrl(url);
- return super.shouldOverrideUrlLoading(view, url);
- }
- });
- }
- //按钮点击事件监听
- class myListener implements View.OnClickListener{
- @Override
- public void onClick(View view) {
- switch (view.getId()){
- case R.id.quit :
- finish();
- break;
- case R.id.news :
- mWebView.reload();
- break;
- }
- }
- }
最后不要忘在AndroidManifest.xml中添加使用网络声明:<uses-permission android:name="android.permission.INTERNET"/>
大功告成,我们的WebView初步介绍到此结束。
相关文章
相关推荐
-
蜂鸟电脑加速(实时保护硬件安全) 2.2.03.18 免费版
-
MakeMKV V1.9.6官方版(mkv转换工具)
-
BETV网络电视 3.3.0(高清网络电视)
-
360安全浏览器抢票专版 v8.1.1
-
Internet Explorer 11正式版 中文官方版
-
WiFi共享大师 V2.2.3.3官方版(网络共享工具)
-
橙光素材小助手 v1.04(素材宝库)
-
Vectir 3.7.1.0(音频管理工具)
-
软媒雷达绿色版 v6.1.1.0
-
gluttonyFLIF(图片转换工具)官方版 v1.1
-
PhoneClean 4.0.5 官方正式版(手机清理)
-
会声会影x8 64位官方版
-
YY语音官方电脑版
-
SciTE V3.6.1免费版(文本编辑工具)
-
Reaper官方版 v5.29
-
clip studio paint中文版 v1.6.2