У меня есть WebView, отформатированный с помощью файла CSS - я динамически генерирую HTML из приложения для этого представления, так же, как это делает веб-сервер. Сгенерированный HTML ссылается на статический файл CSS для форматирования. У меня есть инструкция по форматированию изображения, например:
img {
width: 20px;
height: 20px;
}
Чтобы сделать это устройство независимым, я бы хотел использовать dip вместо px для измерений ширины и высоты. Я не могу понять (и не найти), как определить dip как единицу в определении CSS. Я пробовал «дп» и «провал», ни один из которых не работал. Можно ли это сделать?
Я знаю, что у меня может быть несколько версий CSS-файла, которые выбираются с помощью селектора типа <"target-densitydpi = high-dpi">, но это означает, что у меня будут дублированные CSS-файлы только для возможности размера изображения в зависимости от плотности устройства. Выполнимо, но я бы предпочел иметь возможность указать dip в файле CSS, и WebView сделает всю работу за меня.
Также выполнимо было бы создать встроенную таблицу стилей в заголовке HTML и преобразовать dip в px для конкретного устройства, но это затем приведет к связи между определением CSS и кодом генерации HTML. Возможно, лучше, чем несколько CSS-файлов (для моего приложения), но было бы гораздо приятнее просто установить dip в CSS-файле и покончить с этим.
(Мои изображения предназначены для изменения размеров без артефактов для диапазона плотностей экрана, которые поддерживаются в настоящее время)