Подтвердить что ты не робот

Элементы ввода в WebViews всегда имеют тот же стиль, если они выделены на устройствах HTC

В настоящее время я пишу приложение, которое использует встроенный WebView для отображения его содержимого или иногда запрашивает данные у пользователя, используя формы ввода. Поля ввода в этих формах стилируются с помощью -webkit-css Styles.

Это отлично работает на всех Устройствах (протестировано на Nexus One, LG Optimus 500, Samsung Galaxy S), за исключением устройств с HTC Sense. На устройствах с HTC Sense стилизация теряется, если выбран элемент ввода. Использование input:focus {} в css не помогает, HTC Devices with Sense просто игнорируют.

Это изображение иллюстрирует это, в настоящее время выбрано "Ник", но все равно должно быть написано так же, как "Vorname" и "Nachname".

Focus Problem

Любые идеи, возможно, обходятся этой проблемой?

Вот пример страницы HTML (по запросу):

<html>
<head>
    <meta name="viewport" content="target-densitydpi=low-dpi" />
    <style type="text/css">
      input[type="number"],
      input[type="text"]{
    border: 1px solid #CDFF3C;
    background: #F3FECA;
    width: 220px;
    -webkit-border-radius: 4px;
        -webkit-box-shadow: inset 1px 1px 4px #AAA;
    -webkit-tap-highlight-color: rgba(205, 255, 60, 0.5);
      }
      body {
        background:#ebffb9;
        margin-right:0;
        margin-left:0;
        font-size: 14px;
      }
    </style>
</head>
<body>
<form name="data" action="/im/postdata" method="get" accept-charset="UTF-8">
  <p class="edit">
    <b>Vorname</b>
    <br/>
    <input type="text" name="3"/>
    </input>
  </p>
</form>
</body>
</html>

Не нужно вставлять это в приложение, просто поместите его на веб-сервер где-нибудь и используйте встроенный веб-браузер, чтобы открыть его.

4b9b3361

Ответ 1

Он может быть связан с: Как я могу стилить тег HTML INPUT, чтобы он поддерживал CSS, когда был сфокусирован на Android 2.2+?.

В качестве альтернативы вы можете обходиться с ним, используя собственное приложение, содержащее WebView, а затем примените тему в res/values ​​/themes.xml к вашему приложению, которая переопределяет webTextViewStyle с вашим собственным стилем:


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="MyTheme" parent="@android:syle/Theme">
        <item name="android:webTextViewStyle">@style/MyWebTextView</item>
    </style>
</resources>

Затем назначьте это вам приложение в манифесте:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mywebapp" android:versionCode="1" android:versionName="1">
    <uses-permission android:name="android.permission.INTERNET" />

    <application android:icon="@drawable/icon" android:label="@string/app_name"
        android:theme="@style/MyTheme">
        .
        .
        .
    </application>
</manifest>

Затем просто загрузите свой html в свой WebView и посмотрите, не принял ли элемент управления ввода текст нового стиля.