2012年7月2日 星期一

Android:WebView


XML layout:

<Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="gobrowse"
            android:text="網址" />

 <EditText
            android:id="@+id/editText1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10"
            android:inputType="textPostalAddress" 
            android:text="http://"/>

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

AndroidManifest

<uses-permission android:name="android.permission.INTERNET"/>

Source Code


package com.wu;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;

public class WebviewActivity extends Activity {
    /** Called when the activity is first created. */
EditText url;
WebView web;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        url=(EditText)findViewById(R.id.editText1);
        web=(WebView)findViewById(R.id.webView1);
        //webview事先載入下列網誌,WebView.loadUrl("String")
        web.loadUrl("http://www.google.com");
        web.getSettings().setJavaScriptEnabled(true);

        //在默認設定之下, 如果你點擊一個鏈接, 它會調用Android自帶的瀏覽器打開鏈接. 如果你想繼續使用你自己 
           的瀏覽器, 可以使用下面的代碼.
        web.setWebViewClient(new myClient());
     
    }
    //重寫onKeyDown方法,按下返回鍵不會離開此activity
    @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
    if(keyCode==KeyEvent.KEYCODE_BACK&&web.canGoBack()){
    web.goBack();
    return true;
    }
return super.onKeyDown(keyCode, event);
}
public void gobrowse(View v){
        // 可要可不要,標示http://之後輸入的網址
    int start="http://".length();
    int end=url.getText().toString().length();
    url.setSelection(start, end);
   
    String website=url.getText().toString();
    web.loadUrl(website);
   
   
   
   
    }

public class myClient extends WebViewClient {

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub
view.loadUrl(url);
 return super.shouldOverrideUrlLoading(view, url);
}
   
    }
}


沒有留言:

張貼留言