Forum » Programiranje » [Android] webview - eventHandlers
[Android] webview - eventHandlers
icurk ::
Pozdravljeni,
z webview prikazujem dokument, ki je zgrajen iz več html datotek. Če kliknem na webview, se nam zgoraj pokaže nekakšne menijska vrstica ter spodaj seekbar za hitrejši prehod po dokumentu. Dodan je tudi poteg, s katerim listamo skozi dokument kot skozi knjigo (torej posamezna html datoteka je kot stran v knjigi).
Recimo da imam na eni "strani" povezavo spletno stran. Po kliku nanjo mi jo seveda naloži, ampak mi tudi pokaže menijsko vrstico + seekbar.
In vprašanje: Kako lahko ugotovim, kdaj je uporabnik, znotraj webview kliknil na povezavo, obrazec, video itd.? Saj je moja želja, da takrat ne pokažem menijske vrstice in seekbara.
Še koda pri onTouchListener na webview:
z webview prikazujem dokument, ki je zgrajen iz več html datotek. Če kliknem na webview, se nam zgoraj pokaže nekakšne menijska vrstica ter spodaj seekbar za hitrejši prehod po dokumentu. Dodan je tudi poteg, s katerim listamo skozi dokument kot skozi knjigo (torej posamezna html datoteka je kot stran v knjigi).
Recimo da imam na eni "strani" povezavo spletno stran. Po kliku nanjo mi jo seveda naloži, ampak mi tudi pokaže menijsko vrstico + seekbar.
In vprašanje: Kako lahko ugotovim, kdaj je uporabnik, znotraj webview kliknil na povezavo, obrazec, video itd.? Saj je moja želja, da takrat ne pokažem menijske vrstice in seekbara.
Še koda pri onTouchListener na webview:
public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: x = event.getX(); helper.setOnTouch(System.currentTimeMillis()); break; case MotionEvent.ACTION_UP: dx = event.getX(); helper.setOnReise(System.currentTimeMillis()); // Če je bil onClick skrijemo/pokažemo menijsko vrtico in seekbar if (dx == x) { if (rl.getVisibility() == View.VISIBLE) { rl.setVisibility(View.INVISIBLE); rlSeekBar.setVisibility(View.INVISIBLE); rlSeekBarPreview.setVisibility(View.INVISIBLE); return false; } else { rl.setVisibility(View.VISIBLE); rlSeekBar.setVisibility(View.VISIBLE); rlSeekBarPreview.setVisibility(View.VISIBLE); return false; } } else if (helper.isSwipe()) { premik(x, dx); } break; default: break; } return false; }
nightrage ::
JSInterface
WebView
html page
public class JSInterface { private WebView mAppView; public JSInterface(WebView appView) { this.mAppView = appView; } public void doTest(String text) { Toast toast = Toast.makeText(mAppView.getContext(), String.format("Trenutna vrednost: %s db", text), Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER | Gravity.CENTER, 0, 0); toast.show(); } }
WebView
webview = (WebView) findViewById(R.id.webview_new); webview.setBackgroundColor(0x00000000); WebSettings webSettings = webview.getSettings(); webSettings.setSavePassword(false); webSettings.setSaveFormData(false); webSettings.setJavaScriptEnabled(true); webSettings.setSupportZoom(false); jsInterface = new JSInterface(webview); webview.setWebChromeClient(new MyWebChromeClient()); <strong>webview.addJavascriptInterface(jsInterface, "JSInterface");</strong> webview.loadUrl("file:///index.html");
html page
<!DOCTYPE html> <html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> </head> <body onload="init()"> <table id="fullheight" width="100%"> <tr> <td align="center" valign="middle" onClick="test(current)"> tmp </td> </tr> </table> <script> function test(text) { <strong>window.JSInterface.doTest(text); </strong> } </script> </body></html>
Zgodovina sprememb…
- spremenil: nightrage ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Google zaradi hrošča zaustavil nadgradnjo ChromaOddelek: Novice / Android | 4451 (3135) | proto |
» | javaScrpit uraOddelek: Programiranje | 1844 (1448) | Ahim |
» | Kako omogočiti WegGL support v Android appu?Oddelek: Pomoč in nasveti | 930 (721) | MasterMiG |
» | Mobilna spletna stran --> mobilna aplikacijaOddelek: Programiranje | 2092 (1618) | nightrage |
» | [Android] pomoč pri postavitvi layoutaOddelek: Programiranje | 2202 (1960) | icurk |