WebView mit Porgressbar,ZurückButton,Menü

  • Antworten:0
Gelöschter Account
  • Forum-Beiträge: 460

03.06.2010, 00:00:04 via Website

Hoffe ich kann euch damit bei euren Zukünfigen WebViews etwas helfen,wenn ihr Anregungen,Verbesserungen,Probleme habt schreibt sie hier rein.
Diese Version wurde für Android 1.5 entwickelt.
Die dickmarkierten Stellen müsst ihr anpassen
*.java
1package PACKAGENAME;
2
3import android.view.*;
4import android.webkit.*;
5import android.widget.*;
6import android.app.*;
7import android.os.*;
8
9public class NAME extends Activity {
10 private WebView webview;
11 /** Called when the activity is first created. */
12 @Override
13 public void onCreate(Bundle savedInstanceState) {
14 super.onCreate(savedInstanceState);
15
16 //Progressbar
17 getWindow().requestFeature(Window.FEATURE_PROGRESS);
18
19 webview = new WebView(this);
20 setContentView(webview);
21 webview.getSettings().setJavaScriptEnabled(true);
22
23 final Activity activity = this;
24 webview.setWebChromeClient(new WebChromeClient() {
25 public void onProgressChanged(WebView view, int progress) {
26 activity.setProgress(progress * 100);
27 }
28 });
29
30 webview.setWebViewClient(new WebViewClient() {
31 public void onReceivedError(WebView view, int errorCode,
32String description, String failingUrl) {
33 Toast.makeText(activity,description,
34Toast.LENGTH_SHORT).show();
35 }
36 });
37 webview.loadUrl("URL");
38 }
39
40 //Zurück Button
41 @Override
42 public boolean onKeyDown(int keyCode, KeyEvent event) {
43 if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
44 webview.goBack();
45 return true;
46 }
47 return super.onKeyDown(keyCode, event);
48 }
49
50 //Menü Items
51 @Override
52 public boolean onCreateOptionsMenu(Menu menu) {
53 super.onCreateOptionsMenu(menu);
54 MenuItem ITEM1 = menu.add(0, 0, 0, "ITEM1");
55 MenuItem ITEM2 = menu.add(0, 1, 0, "ITEM2");
56 MenuItem ITEM3 = menu.add(0, 2, 0, "ITEM3");
57 MenuItem ITEM4 = menu.add(0, 3, 0, "ITEM4");
58 MenuItem ITEM5 = menu.add(0, 4, 0, "ITEM5");
59 return true;
60 }
61
62 //Menü Actions
63 @Override
64 public boolean onOptionsItemSelected(MenuItem item) {
65 switch (item.getItemId()) {
66 case 0:
67 ACTION1
68 break;
69 case 1:
70 ACTION2
71 break;
72 case 2:
73 ACTION3
74 break;
75 case 3:
76 ACTION4
77 break;
78 case 4:
79 ACTION5
80 break;
81 }
82 return false;
83 }
84}

Layout/main.xml
1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical"
4 android:layout_width="fill_parent"
5 android:layout_height="fill_parent"
6 >
7<WebView
8 android:id="@+id/View"
9 android:layout_width="fill_parent"
10 android:layout_height="fill_parent"
11 />
12 </LinearLayout>

Values/strings.xml
1<?xml version="1.0" encoding="utf-8"?>
2<resources>
3 <string name="app_name">APPNAME</string>
4</resources>

AndroidManifest.xml
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="PACKAGENAME"
4 android:versionCode="VERSIONSCODE (1)" android:versionName="VERSIONSNUMMER (0.1)">
5 <application android:icon="@drawable/icon" android:label="@string/app_name">
6 <activity android:name="ACTIVITYNAME"
7 android:label="@string/app_name"
8 android:configChanges="keyboardHidden|orientation">
9 <intent-filter>
10 <action android:name="android.intent.action.MAIN" />
11 <category android:name="android.intent.category.LAUNCHER" />
12 </intent-filter>
13 </activity>
14 </application>
15 <uses-sdk android:minSdkVersion="MINIMALE SDK VERSION (3)"/>
16<uses-permission android:name="android.permission.INTERNET" />
17<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
18</manifest>
Damit beim drehen des Telefones die Website nicht neu geladen wird: android:configChanges="keyboardHidden|orientation"

— geändert am 03.06.2010, 01:06:18

Grüße Alexander

Antworten