Соответствие размера текста Android WebView размеру текста TextView - PullRequest
5 голосов
/ 06 января 2012

Есть ли простой способ (возможно, не программный?) Сопоставить размер текста в WebView с размером в TextView?

У меня есть (указанный в XML) TextView, у которого нет размера текстаили атрибуты внешнего вида:

<TextView
    android:id="@+id/lblExerciseSummary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/lblWeekTitle"
    android:textColor="@color/home_screen_text_colour"
    android:paddingBottom="4dp"
    android:paddingLeft="4dp" />

А также веб-представление, которое не имеет размера текста или атрибутов внешнего вида:

<WebView
    android:id="@+id/wvTest"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/lblRunDescription"
    android:layout_below="@+id/lblTest"
    android:background="#00000000" />

Когда я помещаю текст в TextView (используя setText ()) и HTMLв WebView (с loadData () и самим текстом в элементе <p> без дополнительного набора стилей CSS / inline) два представления отображают текст разных размеров (кажется, что по умолчанию WebView имеет больший размер, чем TextView).)

Как лучше всего обеспечить, чтобы мой текст WebView всегда соответствовал тексту TextView по размеру и, возможно, в другом виде - может быть, это просто удача, что это даже один и тот же шрифт?

Я предполагаю, что TextView выбирает некоторые значения по умолчанию из настроек темы / стиля / устройства, но я также предполагаю, что в WebView есть какая-то таблица стилей по умолчанию, которая может не подбирать одинаковые настройки?

1 Ответ

0 голосов
/ 21 июля 2012

Мэтт, вы можете попробовать использовать метод setTextZoom() в вашем WebView:

thisWB.getSettings().setTextZoom(thisTV.getTextSize());

thisWB: ваш WebView

thisTV: ваш TexView, откуда вы собираетесь получить размер текста для WebView

Обратите внимание, что метод setTextZoom(int textZoom) - это уровень API 14 (используйте его, если вы разрабатываете приложение для Android 4.0+).

Ссылка: Веб-настройки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...