androidwebview點擊按鈕
① android怎麼模擬用戶在webview中對應的坐標的點擊事件
不知道你是要知道「怎麼模擬按鈕的點擊事件」還是要知道「這個東西是怎麼調上來的」? 1、模擬點擊事件,可以用調用Button的onClick的方法。 2、這個點擊事件是觸到屏幕後,觸摸屏驅動首先得到這個消息,然後根據WindowManager裡面記錄的信息分發給ViewRoot,然後就一直發,就像生活委員發信件一樣,最終發給那個被點擊的View,沒人處理就報廢。
② android webview載入過程中按返回鍵返回問題
WEBVIEW·它裡面的一個新的活動?您點擊的按鈕操作,然後跳轉到新的活動的活動內你要使用到weiView的布局,所以,當點擊返回鍵返回到原來的活動。只需要改變
布爾的OnKeyDown(INT的keyCode,KeyEvent的事件){
((的keyCode == KeyEvent.KEYCODE_BACK)的&& mWebView.canGoBack()){
mWebView.goBack()
返回true;
}其他{
完成();
}
的回報super.onKeyDown(的keyCode,事件);
}
③ WebView在Fragment中點擊返回鍵返回上一頁
在大多數情況下,在Activity中實現WebView點擊返回鍵返回上一頁是經常遇到的事情,並且很容易解決,如下:
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">//無滾動條
@Override
protected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview);
WebView webView = (WebView)findViewById(R.id.webView);
}
@Override
booleanonKeyDown(intkeyCode,KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK&&webView.canGoBack()) {
webView.goBack();
return true;
}else{
//結束當前頁
return super.onKeyDown(keyCode,event);
}
}
那麼在Fragment中,我們是如何進行webview點擊返回鍵時返回上一級呢?
如下:
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="none">
@Override
publicViewonCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_webview,container, false);
WebView webView = (WebView)view.findViewById(R.id.webView);
webView.setOnKeyListener(newView.OnKeyListener() {
@Override
public booleanonKey(View view, intkeyCode,KeyEvent keyEvent) {
if((keyCode == KeyEvent.KEYCODE_BACK) &&webView.canGoBack()) {
getActivity().runOnUiThread(newRunnable() {
@Override
public voidrun() {
webView.goBack();
}
});
return true;
}
return false;
}
});
returnview;
}
④ Android,webview中點擊一個保存按鈕,在部分手機上能彈出保存成功,在部分手機上不能
說明手機之間不兼容
⑤ android webview 為什麼點擊事件
b.getSettings().setjavaScriptEnabled(true);
wb.requestFocus();
wb.setScrollBarStyle(0);
loarl(wb," http://www..com");
當我使用其他地址的時候網頁裡面的一些按鈕點擊不響應。
最後我發現是這個原因 我們需要重新設置一下webSettings就可以了。
具體代碼如下:
//重新設置websettings WebSettings s = wb.getSettings(); s.setBuiltInZoomControls(true); s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS); s.setUseWideViewPort(true); s.setLoadWithOverviewMode(true); s.setSavePassword(true); s.setSaveFormData(true); s.setJavaScriptEnabled(true); // enable navigator.geolocation s.setGeolocationEnabled(true); s.setGeolocationDatabasePath("/data/data/org.itri.html5webview/databases/"); // enable Web Storage: localStorage, sessionStorage s.setDomStorageEnabled(true); wb.requestFocus(); wb.setScrollBa
⑥ android webview中的按鈕彈框無法點擊
webview.getSettings().setJavaScriptEnabled(true); 如果你的內嵌的頁面有javascript的話加上這句,貌似的給webview對象加上
⑦ android開發 webview點擊空白處刷新怎麼處理
方法一:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); //在當前的webview中跳轉到新的url
return true;
}
});
方法二:
mWebView.goBack(); //後退
mWebView.goForward();//前進
mWebView.reload(); //刷新
//點擊後退按鈕,讓WebView後退一頁(也可以覆寫Activity的onKeyDown方法)
webview.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) { //表示按返回鍵
時的操作
webview.goBack(); //後退
//webview.goForward();//前進
return true; //已處理
}
}
return false;
}
});
⑧ android 怎麼獲取webview 的控制項的點擊
1. Web網頁部分,需要用Javascript實現監聽點擊事件,獲取被點擊項及其電話號碼,用jQuery等庫,這個功能很容易實現。
2. 在點擊事件裡面,調用「打電話」或「發簡訊」方法,例如"window.JSExt.call(number);"。
3. 在Java代碼裡面,實現「打電話」/「發簡訊」的介面,並注冊到WebView裡面,這樣Javascript才能調用,例如
class JSExt {
public void call(String number) {
...
}
public void sms(String number, String txt) {
...
}
}
...
mWebView.addJavascriptInterface(new JSExt(), 'JSExt');
⑨ webview獲取網頁點擊事件
最近遇到關於獲取webview載入網頁上的點擊事件,三種解決方式~~~
一、跟後台協商好,點擊該按鈕載入特定url,通過webview的代理方法- (BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType 判斷載入的url是否是協商好的url;
ps:記得要return NO,否則會載入url
二、通過獲取所點擊按鈕的圖片來判斷是否點擊特定位置
1、給webview的scrollview添加手勢
2、實現UIGestureRecognizerDelegate代理方法
document.elementFromPoint 是獲取點擊坐標的元素
三、通過注入一段JS(需跟web前端協商),返回一段json數據
1、在webview載入完後注入js(具體根據需求定義)
例子:
2、攔截自定義的欄位 kqapp://
⑩ android 用webview 播放網路視頻怎麼控制播放按鍵
WebView中的video標簽默認就會帶控制按鍵,但是在Android webView播放視頻還需要以下幾個設置:
需要在AndroidManifest.xml文件中聲明需要使用HardwareAccelerate, 可以細化到Activity級別,如果不需要的View可以聲明不要用加速,但是需要在代碼中做
具體如下:
如果要聲明整個應用都要加速:<application ...android:hardwareAccelerated="true">
如果要在Activity中聲明,則:<activity ...android:hardwareAccelerated="true">Window,getWindow.setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
如果application或者activity都申明了要硬體加速,但是為了某些原因(比如省電?),一些View不需要硬體加速的話,view.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
2.需要在AndroidManifest.xml文件中用上<use-sdk></use-sdk>標簽,而且如果是空的還不行,必須寫上targetSDK或者minSDK,但是我試驗過,不管寫版本是多少都沒有關系。。。理論上說,Android應該是從3.0( API Level 11)開始可以對2D渲染加速,但是我把targetSDK設置為5都可以使用的,但是這個標簽不寫還不行。
一般來說,上面的操作做了,就可以使用video標簽播放視屏了,如果要支持全屏,還需要做一點操作:給webview一個WebChromeClient對象,這個WebChromeClient對象需要實現onShowCustomView和onHideCustomView方法
