android webview sdk app tutorial 01 界面

来源:互联网 发布:传智播客的java视频 编辑:程序博客网 时间:2024/06/14 18:08

此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!

界面效果如下:


完全使用代码实现

import android.app.Activity;import android.content.Context;import android.graphics.Color;import android.os.Bundle;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Button;import android.widget.EditText;import android.widget.LinearLayout;import android.widget.RelativeLayout;public class MainActivity extends Activity {    private final static int TITLE_BAR_ID = 1;    private final static int OPEN_BTN_ID = 101;    private final static String START_URL = "http://www.uc.cn";    private RelativeLayout mBaseLayout;    private EditText mUrlView;    private Button mOpenBtn;    private WebView mWebView;    private void initCtrl() {        mBaseLayout = new RelativeLayout(this);        mBaseLayout.setBackgroundColor(Color.WHITE);        // title bar        RelativeLayout titleBar = new RelativeLayout(this);        titleBar.setId(TITLE_BAR_ID);        {            mOpenBtn = new Button(this);            mOpenBtn.setId(OPEN_BTN_ID);            mOpenBtn.setText("open");            mOpenBtn.setOnClickListener(mOnOpenBtnClicked);            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(                LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);            lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);            titleBar.addView(mOpenBtn, lp);        }        {            mUrlView = new EditText(this);            mUrlView.setBackgroundColor(Color.LTGRAY);            mUrlView.setText(START_URL);            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(                LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);            lp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);            lp.addRule(RelativeLayout.LEFT_OF, OPEN_BTN_ID);            titleBar.addView(mUrlView, lp);        }        {            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(                LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);            lp.addRule(RelativeLayout.ALIGN_PARENT_TOP);            mBaseLayout.addView(titleBar, lp);        }        // webview        {            mWebView = new WebView(this);            RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(                LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);            lp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);            lp.addRule(RelativeLayout.BELOW, TITLE_BAR_ID);            mBaseLayout.addView(mWebView, lp);        }        setContentView(mBaseLayout);    }    private View.OnClickListener mOnOpenBtnClicked = new View.OnClickListener() {        @Override        public void onClick(View v) {            mWebView.loadUrl(mUrlView.getText().toString());            InputMethodManager imm =                (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        initCtrl();        WebSettings webSettings = mWebView.getSettings();        webSettings.setJavaScriptEnabled(true);        mWebView.setWebViewClient(new WebViewClient());        mWebView.loadUrl(START_URL);    }}


使用 layout xml 实现

<?xml version="1.0" encoding="utf-8"?><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"                android:background="@android:color/white">    <RelativeLayout        android:id="@+id/titleBar"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:background="@android:color/darker_gray">        <EditText            android:id="@+id/url"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:layout_alignParentLeft="true"            android:layout_toLeftOf="@+id/open"            android:text="@string/start_url"/>        <Button            android:id="@+id/open"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_alignParentRight="true"            android:text="@string/open"/>    </RelativeLayout>    <WebView        android:id="@+id/webview"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentBottom="true"        android:layout_below="@+id/titleBar" /></RelativeLayout>

对应的控制代码

import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {    private EditText mUrlView;    private Button mOpenBtn;    private WebView mWebView;    private View.OnClickListener mOnOpenBtnClicked = new View.OnClickListener() {        @Override        public void onClick(View v) {            mWebView.loadUrl(mUrlView.getText().toString());            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        mUrlView = (EditText) findViewById(R.id.url);        mOpenBtn = (Button) findViewById(R.id.open);        mWebView = (WebView) findViewById(R.id.webview);        mOpenBtn.setOnClickListener(mOnOpenBtnClicked);        mWebView.setWebViewClient(new WebViewClient());        WebSettings webSettings = mWebView.getSettings();        webSettings.setJavaScriptEnabled(true);        mOnOpenBtnClicked.onClick(mOpenBtn);    }}


0 0