此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!
界面效果如下:
完全使用代码实现
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); } }