android webview sdk app tutorial 01 界面

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

界面效果如下:


完全使用代码实现

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值