編輯:關於Android編程
webview是一個很簡單的功能,代碼沒有什麼邏輯上的難度,只是需要注意權限上的問題。其實在安卓編程的過程當中,權限問題可以算是出現的比較多的BUG。
1.MainAct
package com.lxq.webview01; import android.app.Activity; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; 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 et_url; private Button btn_request; private WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initSetting(); initEvent(); } private void initSetting() { //webview設置屬性 WebSettings ws=wv.getSettings(); ws.setBuiltInZoomControls(true); ws.setDefaultZoom(WebSettings.ZoomDensity.FAR); ws.setJavaScriptEnabled(true); ws.setSupportZoom(true); //點擊鏈接繼續在當前browser中響應,而不是新開Android的系統browser中響應該鏈接,必須覆蓋 webview的WebViewClient對象 wv.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); } //初始化控件 private void initView() { et_url =(EditText)findViewById(R.id.et_url); btn_request = (Button)findViewById(R.id.btn_request); wv= (WebView)findViewById(R.id.wv); } //按鍵監聽 public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && wv.canGoBack()) { wv.goBack(); return true; } return super.onKeyDown(keyCode, event); } //初始化事件 private void initEvent() { btn_request.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String url=et_url.getText().toString().trim(); wv.loadUrl(url); } }); } }
2.最重要的是在manifest中添加權限,否則是無法顯示的。
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lxq.webview01" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.lxq.webview01.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </ app```` ication> </manifest>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
前面有關自定義View中進行了繪圖,但View的繪圖機制存在如下缺陷:1、View缺乏雙緩沖機制。2、當程序需要更新View上的圖像時,程序必須重繪View上顯示的整張圖
原生的Android設置裡面沒有默認存儲器的選項,但是MTK偏偏加上了這個功能,可能MTK覺得這個比較有用吧,所以,他們在原生的基礎上面做了修改,加上了這個功能
新建項目前面,已經介紹了,系統相關配置,接下來就可以開始創建項目了。選擇新建—>構建一個自由風格的軟件項目,然後填寫項目名稱。項目如下:注意:項目配置源
Toast的自定義使用原理與其類似。1.Toast源碼分析老規矩,我們先去看Toast的源碼。Toast有兩種顯示布局方式,一種最常見調用Toast.makeText()