android - Honeycomb WebView 上的黑色闪烁

标签 android

我在使用 <input type="password"> 时遇到了问题Honeycomb 设备上的 WebView 中的字段。任何时候 ScrollView ,屏幕都会闪烁黑色,甚至可以在滚动结束后保持全黑(除了它会绘制聚焦的密码字段)。我在我检查过的所有三款 Honeycomb 平板电脑上都看到了这一点。

我可以在浏览器应用程序中加载相同的 HTML,但我没有看到这个问题。我已经尝试更改 WebView 的 WebSettings/WebChromeClient/WebViewClient 上的许多设置,但没有成功。我已将下面的代码加载到 Froyo 平板电脑上,但没有出现此问题,因此这似乎是 Honeycomb 特有的问题。

有没有人见过这个?我目前不知道如何解决或解决此问题。

这是重现该问题的简短代码示例。只需聚焦密码字段并上下滚动即可。有一个密码类型输入字段和一个文本类型输入字段,只是为了表明该问题不会出现在文本类型字段中。 <div>标签只是为了让滚动和查看问题变得更容易,尽管没有 <div> 问题仍然存在标签。

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class PasswordFieldTest extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        WebView webview = new WebView(this);
        String html = "<html><body><div style=\"with: 120%; height: 200%; border: 20px dashed black;\">" +
            "Password: <input type=\"password\" name=\"passfield\"/><br/>" +
            "Text: <input type=\"text\" name=\"textfield\"/>" +
            "</div></body></html>";
        webview.loadData(html, "text/html", "utf-8");

        setContentView(webview);
    }
}

最佳答案

在尝试了此处建议的所有方法后,这终于在所有手机上对我有用:

android:hardwareAccelerated="true"

和:

if (android.os.Build.VERSION.SDK_INT < 16) {
 webView.setBackgroundColor(0x00000000);
} else {
 webView.setBackgroundColor(Color.argb(1, 0, 0, 0));
}

如果您发现无法使用此功能的手机,请告诉我。 适用于这些手机:

  • 注释 2 (4.1.2)
  • htc 一台 (4.0.4)
  • 银河 s3 (4.3)
  • nexus4 (4.3)

关于android - Honeycomb WebView 上的黑色闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097884/

相关文章:

java - Android 应用程序中带有 KeyStore.getInstance 的 NoSuchAlgorithmException

java - Android最佳实践: Bootstrap MainActivity with token

android - 转换 mp4 视频以支持在 android 中流式传输

java - 无法让 VideoView 定位到某个位置 - Android

android - 动态注册 BroadcastReceiver 时无法接收 android.intent.action.MEDIA_MOUNTED

android - OkHttp拦截器使用没有依赖循环的OkHttpClient

android - 了解安卓尺寸

android - 以编程方式更改 WebView 中的 HTML

android - Git/Github APK 失败

javascript - Android Webview HTML 加载 Javascript 问题