您好,欢迎来到网站模板网站建设公司!

横幅
电话咨询:400-888-8888

当前位置:网站首页 新闻中心 新博动态

Android基础:Android控件之WebView

发布时间:2016-05-05 11:05  浏览次数:374  作者:

  如何在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"/>

扫一扫微信公众平台

该模版网站数据仅为展示使用,如有侵权,请联系删除!