xml编辑
<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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity"
android:orientation="vertical">
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:hint="网址"
/>
<ProgressBar
android:id="@+id/pb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:visibility="gone"
/>
<Button
android:onClick="dian"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="23sp"
android:text="前往"
android:visibility="gone"
/>
<WebView
android:id="@+id/wv"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
java代码
private WebView wv;
private EditText et;
private ProgressBar pb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wv=(WebView)findViewById(R.id.wv);
et=(EditText)findViewById(R.id.et);
pb=(ProgressBar)findViewById(R.id.pb);
et.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
wv.loadUrl(v.getText().toString().trim());
return true;
}
});
et.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(s.toString().trim().endsWith("com")){
wv.loadUrl(s.toString().trim());
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
wv.setWebViewClient(new WebViewClient());
wv.setWebChromeClient(new WebChromeClient(){
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
pb.setVisibility(view.VISIBLE);
pb.setProgress(newProgress);
if(newProgress==100){
pb.setVisibility(view.GONE);
}
}
});
initwebsetting();
}
private void initwebsetting(){
WebSettings settings=wv.getSettings();
settings.setCacheMode(WebSettings.LOAD_DEFAULT);
settings.setJavaScriptEnabled(true);
settings.setDefaultZoom(ZoomDensity.FAR);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
Toast.makeText(MainActivity.this, "key"+keyCode, 0).show();
if(keyCode==KeyEvent.KEYCODE_BACK){
if(wv.canGoBack()){
wv.goBack();
}else{
finish();
}
}
return true;
}