WebView: различная интерпретация css в зависимости от версии API Android - PullRequest
6 голосов
/ 14 марта 2020

Я использую этот простой CSS в Android WebView.

.rounded{
  text-align: center;
  border-radius: 25px;
  border: 2px solid #FFFF014F;
}

Он работает нормально с устройством API 28. Но с устройством 22 API я не получаю тот же результат (граница вообще не отображается).

Это два устройства, которые я использую (оба устройства имеют одинаковое разрешение):

enter image description here

Полагаю, что свойства css интерпретируются по-разному в зависимости от версии WebView или API. (Я не уверен в этом)

Я бы хотел, чтобы один css файл работал одинаково во всех версиях Android. Итак:

  • Есть ли способ исправить это?
  • Есть ли документация, в которой я мог бы найти, какие css свойства я могу использовать в зависимости от версии API?

1 Ответ

3 голосов
/ 17 марта 2020

Использовать rgba() обозначение цвета. Поддерживается лучше, чем HEX rgba.

Давайте конвертируем #FFFF014F:

Красный: FF = 255
Зеленый: FF = 255
Синий: 01 = 1
Альфа : 4F = 79/255 = .31

Таким образом, результат будет border: 2px solid rgba(255, 255, 1, .31);

body {background:navy}

span {
  display:inline-block;
  padding:.5em;
  margin:1em;
  text-align: center;
  border-radius: 25px;
  color:#fff;
}

.hex {border: 2px solid #FFFF014F}
.rgba {border: 2px solid rgba(255, 255, 1, .31)}
<span class="hex">#FFFF014F</span>
<span class="rgba">rgba(255, 255, 1, .31)</span>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...