JellyBeanに問題があります。キーボードでナビゲートすると、ハイパーリンクと入力のhtml要素が自動的にフォーカスされるためです。それは私がcssで隠すことができない青いハイライトを作成します。
* {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
フォーカスを無効にするために各html要素にz-index:-1を設定しましたが、キーボードでナビゲートすると、JellyBeanはそれらのそれぞれをオートフォーカスします。
これが私のhtmlコードです:
<html>
<head>
<title></title>
</head>
<body>
<a tabIndex="-1" href="http://www.yahoo.com">yahoo</a>
<a tabIndex="-1" href="http://www.google.com">google</a>
<a tabIndex="-1" href="http://www.msn.com">msn</a><br/>
<input type="button" name="" tabIndex="-1" value="yahoo">
<input type="button" name="" tabIndex="-1" value="google">
<input type="button" name="" tabIndex="-1" value="msn">
</body>
</html>
これが私のwebview設定です:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="false" />
</RelativeLayout>
これが私の活動です:
package com.example.tony;
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class WebActivity extends Activity {
private WebView mainWebView;
private WebSettings webSettings;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_view);
mainWebView = (WebView) findViewById(R.id.webView);
webSettings = mainWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setPluginState(WebSettings.PluginState.ON);
mainWebView.setWebChromeClient(new WebChromeClient());
mainWebView.setScrollBarStyle(WebView.SCROLLBAR_POSITION_DEFAULT);
mainWebView.loadUrl("http://192.168.2.145/test/nav.html");
}
@TargetApi(16)
public void setURL(){
webSettings.setAllowUniversalAccessFromFileURLs(true);
}
}
nexus7およびその他のジェリービーンズデバイスでテスト済み。HTML要素レベルでのフォーカスを無効にしたり、キーボードナビゲーションのオートフォーカスを無効にしたりできる解決策はありますか?