WebView

//清单配置android.permission.INTERNET

布局

<LinearLayout>

 
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/et_text"
            android:layout_width="249dp"
            android:layout_height="wrap_content"
            android:hint="请输入网址" />

        <Button
            android:id="@+id/button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="button"
            android:text="搜索" />
    </LinearLayout>

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleHorizontal"
        android:visibility="gone"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <WebView
        android:id="@+id/webView"
          android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

</LinearLayout>


代码

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebSettings.ZoomDensity;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;

public class MainActivity extends Activity implements OnClickListener{

    private Button button;
    private EditText editText;
    private ProgressBar progressBar1;
    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        editText = (EditText) findViewById(R.id.et_text);
        button = (Button) findViewById(R.id.button);
        progressBar1 = (ProgressBar) findViewById(R.id.progressBar1);
        webView = (WebView) findViewById(R.id.webView);
        //webview进行设置
        setting();
        button.setOnClickListener(this);

    }

    private void setting() {
        // TODO Auto-generated method stub
        //获取vebview设置
              WebSettings settings = webView.getSettings();
        //设置webview的缓存模式--载入其他的网络
              settings.setCacheMode(settings.LOAD_CACHE_ELSE_NETWORK);
        //设置隐藏缩放
              settings.setBuiltInZoomControls(true);
        //设置默认缩放程度
              settings.setDefaultZoom(ZoomDensity.FAR);
        //设置默认字体大小
              settings.setDefaultFixedFontSize(10);
        //webView有两种方法
        //WebviewClient是帮助webview处理各种通知,请求事件
              webView.setWebViewClient(new WebViewClient());
        //WebChromeClient处理解析,渲染网页等浏览器做的事情
        //WebChromeClient是辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等
              webView.setWebChromeClient(new WebChromeClient(){
                  //改变进度条
                         @Override
                         public void onProgressChanged(WebView view, int newProgress) {
                                // TODO Auto-generated method stub
                                    super.onProgressChanged(view, newProgress);
                                //显示进度条
                                     progressBar1.setVisibility(View.VISIBLE);
                               //更改进度条数据
                                     progressBar1.setProgress(newProgress);
                              //数据==100隐藏进度条
                                     if(newProgress==100){
                                       progressBar1.setVisibility(View.GONE);
                                        }

                             }
                        });
        
      }
    
    
    //返回键监听

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        // TODO Auto-generated method stub
        //kenevent--关键事件  
        //KEYCODE_BACK--返回关键码
        if(keyCode==KeyEvent.KEYCODE_BACK){
            //webview能够返回上一层,就返回  相反就关闭   
            if(webView.canGoBack()){
                webView.goBack();
            }else{
                finish();
            }

        }
        
       return true;
    }

//按钮加载webview
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId()) {
        case R.id.button:
            String url = editText.getText().toString().trim();
            webView.loadUrl(url);

            break;

        default:
            break;
        }
    }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值