Android网络编程之WebView初探

  1. WebView使用场景:有时候我们会碰到特殊情况,比如在App里展示一些网页,加载和现实网页是浏览器的活,需求限制不能打开浏览器,我们也不可能内嵌一个浏览器,这时,WebView就是“You can You up”时刻

  2. WebView基本用法:

       先上代码:
     activity_main.xml
    
     <?xml version="1.0" encoding="utf-8"?>
<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="com.example.administrator.net.MainActivity">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="0.1">
        <EditText
            android:id="@+id/address"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.75"
            android:inputType="textCapSentences|textMultiLine"
            android:maxLength="2000"
            android:maxLines="5"
            android:background="@null"
            />
        <Button
            android:id="@+id/Go"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.25"
            android:minWidth="150dp"
            android:text="Go"
            android:layout_marginBottom="0dp"
            android:layout_alignParentBottom="true"
            android:background="@drawable/selector">
        </Button>

    </LinearLayout>

    <WebView
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:layout_weight="1.3"
       android:id="@+id/web_view"></WebView>
</LinearLayout 

MainActivity.java

public class MainActivity extends AppCompatActivity {
    private WebView webView;
    private EditText editText;
    private Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText= (EditText) findViewById(R.id.address);
        webView= (WebView) findViewById(R.id.web_view);
        button= (Button) findViewById(R.id.Go);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //让WebView支持JavaScript
                webView.getSettings().setJavaScriptEnabled(true);
                /*
                调用了 setWebViewClient(WebViewClient wc),这里重写
                shouldOverrideUrlLoading(WebView view, String url),
                表明当需要从一个网页跳转到另一个网页时,
                我们希望目标网页仍然在WebView中,而不是打开系统浏览器
                 */
                webView.setWebViewClient(new WebViewClient(){
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        return super.shouldOverrideUrlLoading(view, url);
                    }
                });
                /*
                调用loadUrl(String Url)并将网址传入,即可展示网页内容
                 */
                webView.loadUrl(editText.getText().toString());
            }
        });

     }
}

效果如下
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值