4

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要素レベルでのフォーカスを無効にしたり、キーボードナビゲーションのオートフォーカスを無効にしたりできる解決策はありますか?

4

0 に答える 0