Zoom Controls in WebView

  • Antworten:0
Alexander R.
  • Forum-Beiträge: 1.148

10.02.2011, 21:48:08 via Website

Hallo,
ich versiche gerade Zoom-Controls in meine WebView einzubauen...
Hätte da jemand eine Ahnung, was ich falsch mache?

1package de.View;
2
3import android.app.*;
4import android.view.*;
5import android.webkit.*;
6import android.widget.*;
7import android.content.*;
8import android.app.Activity;
9import android.os.Bundle;
10
11public class Web extends Activity {
12 private static final int AKTUALISIEREN = 0;
13 private static final int BEENDEN = 1;
14 private WebView webview;
15
16 //Zoom
17 private static final FrameLayout.LayoutParams ZOOM_PARAMS =
18 new FrameLayout.LayoutParams(
19 ViewGroup.LayoutParams.FILL_PARENT,
20 ViewGroup.LayoutParams.WRAP_CONTENT,
21 Gravity.BOTTOM);
22 //Zoom
23
24 /** Called when the activity is first created. */
25 @Override
26 public void onCreate(Bundle savedInstanceState) {
27 super.onCreate(savedInstanceState);
28
29 //ProgressBar
30 getWindow().requestFeature(Window.FEATURE_PROGRESS);
31
32 webview = new WebView(this);
33 setContentView(webview);
34 webview.getSettings().setJavaScriptEnabled(true);
35
36 final Activity activity = this;
37 webview.setWebChromeClient(new WebChromeClient() {
38 public void onProgressChanged(WebView view, int progress) {
39 activity.setProgress(progress * 100);
40 }
41 });
42
43 webview.setWebViewClient(new WebViewClient() {
44 public void onReceivedError(WebView view, int errorCode,
45String description, String failingUrl) {
46 Toast.makeText(activity,description,
47Toast.LENGTH_SHORT).show();
48 }
49 });//ProgressBar
50
51 //Zoom
52 FrameLayout mContentView = (FrameLayout) getWindow().
53 getDecorView().findViewById(android.R.id.content);
54 final View zoom = webview.getZoomControls();
55 mContentView.addView(zoom, ZOOM_PARAMS);
56 zoom.setVisibility(View.GONE);
57 //Zoom
58
59 webview.loadUrl("http://google.de/");
60
61 }
62
63 //Züruck Button
64 @Override
65 public boolean onKeyDown(int keyCode, KeyEvent event) {
66 if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
67 webview.goBack();
68 return true;
69 }
70 return super.onKeyDown(keyCode, event);
71 }
72 //Zurück Button
73
74 //Menü
75 @Override
76 public boolean onCreateOptionsMenu(Menu menu) {
77 super.onCreateOptionsMenu(menu);
78 menu.add(0, AKTUALISIEREN, 0, "Aktualisieren").setIcon(R.drawable.ic_menu_refresh);
79 menu.add(0, BEENDEN, 0, "Beenden").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
80 return true;
81 }
82 //Menü
83
84 //Menü aktionen
85 @Override
86 public boolean onOptionsItemSelected(MenuItem item) {
87 switch (item.getItemId()) {
88 case AKTUALISIEREN:
89 webview.reload();
90 break;
91 case BEENDEN:
92 AlertDialog.Builder builder = new AlertDialog.Builder(this);
93 builder.setTitle("Beenden");
94 builder.setMessage("Möchtest du die App wirklich beenden?");
95 builder.setCancelable(false);
96 builder.setPositiveButton("Ja", new DialogInterface.OnClickListener() {
97 public void onClick(DialogInterface dialog, int id) {
98 System.exit(0);
99 }
100 });
101 builder.setNegativeButton("Nein", new DialogInterface.OnClickListener() {
102 public void onClick(DialogInterface dialog, int id) {
103 dialog.cancel();
104 }
105 });
106 builder.create().show();
107 break;
108 }
109 return false;
110 }
111 //Menü aktionen
112}

Gruß Alexander

Antworten