WebView
2016-04-01 12:18
357 查看
<RelativeLayout 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"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:hint="请输入网址"
android:ems="10" >
</EditText>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:text="搜索" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
</RelativeLayout>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
find();
WebSettings webSettings = webview.getSettings();
// load_default 只要有缓存,就用缓存
// load_cache_else_network 当缓存失效时,加载网络
// LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or
// LOAD_CACHE_ONLY. The default value is LOAD_DEFAULT.
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
// 设置是否展示一个缩放的控制器
webSettings.setBuiltInZoomControls(true);
// 最高缩放的级别
webSettings.setDefaultZoom(ZoomDensity.FAR);
// 设置默认的字体大小
webSettings.setDefaultFontSize(20);
// 设置只在当前页面展示
// webview.setWebViewClient(new WebViewClient());
// 设置有关网页加载进度的客户端
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);
}
}
});
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String trim = editText1.getText().toString().trim();
webview.loadUrl(trim);
}
});
}
private void find() {
button1=(Button)findViewById(R.id.button1);
editText1=(EditText)findViewById(R.id.editText1);
webview=(WebView)findViewById(R.id.webview);
progressBar1=(ProgressBar)findViewById(R.id.progressBar1);
}
//返回键监听
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
//如果webview可以后退
if(webview.canGoBack()){
webview.goBack();
}else{
finish();
}
}
return true;
}
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:hint="请输入网址"
android:ems="10" >
</EditText>
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_below="@+id/button1" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editText1"
android:layout_centerHorizontal="true"
android:layout_marginTop="22dp"
android:text="搜索" />
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" />
</RelativeLayout>
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
find();
WebSettings webSettings = webview.getSettings();
// load_default 只要有缓存,就用缓存
// load_cache_else_network 当缓存失效时,加载网络
// LOAD_DEFAULT, LOAD_CACHE_ELSE_NETWORK, LOAD_NO_CACHE or
// LOAD_CACHE_ONLY. The default value is LOAD_DEFAULT.
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
// 设置是否展示一个缩放的控制器
webSettings.setBuiltInZoomControls(true);
// 最高缩放的级别
webSettings.setDefaultZoom(ZoomDensity.FAR);
// 设置默认的字体大小
webSettings.setDefaultFontSize(20);
// 设置只在当前页面展示
// webview.setWebViewClient(new WebViewClient());
// 设置有关网页加载进度的客户端
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);
}
}
});
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String trim = editText1.getText().toString().trim();
webview.loadUrl(trim);
}
});
}
private void find() {
button1=(Button)findViewById(R.id.button1);
editText1=(EditText)findViewById(R.id.editText1);
webview=(WebView)findViewById(R.id.webview);
progressBar1=(ProgressBar)findViewById(R.id.progressBar1);
}
//返回键监听
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==KeyEvent.KEYCODE_BACK){
//如果webview可以后退
if(webview.canGoBack()){
webview.goBack();
}else{
finish();
}
}
return true;
}
相关文章推荐
- No permission to write APN settings: Neither user *** nor current process has android.permission.WRITE_APN_SETTINGS.
- Android Studio check update失败
- ShaderLab: Pass
- 微信扫描支付总结
- Android ViewPager和Fragment实现仿微信导航界面及滑动效果
- Android接口安全 - RSA+AES混合加密方案
- Android 数据库SQLite 写入SD卡的方法
- iOS资源大全中文版
- android 图片压缩 笔记
- Xcode磁盘空间大清理
- 我的Android之路
- [置顶] Android WebView(二) WebView常用API详解
- 浅谈Android Aidl 通讯机制
- cocos2dx3.3视频播放的实现VideoPlayer的使用
- pragma mark 的使用
- Android develop tricks——整理自国外的一些Blog
- Android人脸识别——眼睛是窗口
- 简单介绍Android中Activity的四种启动模式
- 如何实现通过URL超链接打开IOS的APP
- Android studio中so文件找不到