Я создаю и приложение для Android, которое использует WebView.В WebView есть несколько кнопок, которые идеально подходят.Но при изменении масштаба шрифта в системных настройках кнопки не поместятся.
Я создал новую функцию в своем java-коде, которая сообщает функции javascript в веб-просмотре, какой параметр масштаба шрифта установлен.
final String fontScale = Settings.System.getString(cr, Settings.System.FONT_SCALE);
webView.post(new Runnable() {
public void run() {
webView.loadUrl("javascript:fontScale('"+fontScale+"')");
}
});
Это должно масштабировать содержимое этого WebView до идеального размера.
function fontScale(fs) {
var fsa = 1/fs;
$('body').css('transform', 'scale('+fsa+')');
}
Это работает, но кнопки не находятся в предполагаемом положении.Некоторые поля и преобразования полностью игнорируются или изменяются.
Назначение / без масштаба преобразования:

Сломанный / обычный масштаб шрифта в настройках:

Масштаб шрифта Бронкена / Огромного в настройках:

Есть ли способ, как WebView может игнорировать настройки системы масштаба шрифта?