Почему getTextSize() меняется с ориентацией?
У меня есть небольшая активность Android с парой TextViews. Размер шрифта резко меняется, когда я поворачиваюсь между пейзажем и портретом.
XML для одного представления выглядит так:
<TextView
android:id="@+id/question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="@dimen/small_margin"
android:layout_marginTop="@dimen/small_margin"
android:text="@+string/question"
android:textSize="@dimen/medium_text_size" />
Значение medium_text_size по умолчанию определено в измерениях. Для разных размеров экрана существуют разные размеры. XML-файлы, но НЕ для -port или -land. Мое устройство (Samsung Note 3) сообщает о нормальном размере экрана в обоих направлениях, и значение в соответствующем измерении.
<dimen name="medium_text_size">50sp</dimen>
Строка, которую я добавил в onCreate для отладки, тоже кажется достаточно простой:
questionText = (TextView) findViewById(R.id.question);
Log.d(TAG, "Raw incoming size: " + questionText.getTextSize());
Когда я поворачиваюсь в портретный режим, записывается значение 72. Переходя в альбомную ориентацию, 150 записывается. Как и следовало ожидать, текст выглядит примерно в два раза больше. Я знаю, что возвращаемое значение getTextSize() не будет таким же, как значение в измерение s.xml, потому что единицы измерения разные, но я не понимаю, почему ориентация имеет значение.
Есть некоторые вещи, которые я хочу сделать с размером шрифта, но сначала я хочу понять это.