<TextView
android:layout_width="match_parent"
android:layout_height="48dp"
android:paddingTop="48dp"
android:text="Test"
/>
Я ожидал бы, что TextView будет иметь измеренную высоту 96dp, независимо от того, сколько пространства (по высоте) "Тест" занял (ожидал бы, что он отключится).
Вместо этого я получаю полный "Test" + 48dp для заполнения.
Я могу поместить любое допустимое значение для layout_height
и получить тот же результат.
Чтобы получить высоту 96dp, мне нужно:
<TextView
android:layout_width="match_parent"
android:layout_height="<any valid value>"
android:height="48dp"
android:paddingTop="48dp"
android:text="Test"
/>
где снова я могу положить layout_height
как любое допустимое значение (но оно должно быть там как обязательный атрибут).
Я никогда не использовал атрибут height
в XML, но я не мог найти разницу в документах, особенно, как каждый из них вычисляется, когда элемент, в котором он работает, также имеет значения, установленные для заполнения и/или поля.
Есть ли доступные ресурсы, которые обсуждают это, или кто-нибудь может объяснить это здесь?
Изменить (сводка вопросов):
Это может быть ситуация, в которой я ее использовал, что вызывало проблему, поэтому мои примеры из выше можно игнорировать (я попытался в новом проекте и получил разные результаты из сочетаний атрибутов).
Но мои исходные вопросы по-прежнему применяются (некоторые перекрытия):
- какая разница между ними?
- когда нужно использовать другой?
- Использование одного влияет на использование другого?
- Может ли использование одного из них повлиять на другие атрибуты, которые могут контролировать измеренные размеры представления, такие как заполнение или маржа?
Изменить 2 (в сторону):
В случае, если это поможет понять мою первоначальную ситуацию по сравнению со свежим проектом:
У меня есть действие, которое устанавливает windowActionBarOverlay
как true, поэтому я получаю свой контент, текущий под (полупрозрачным) ActionBar.
Я также использую Croutons, которые теперь появляются под ActionBar. Бен Вейс предположил, что я присоединяю Crouton к другой группе ViewGroup, но я не был уверен, какую ViewGroup присоединить к ней.
Вместо этого я предоставил настраиваемое представление (которое накачивается, когда это необходимо) как Crouton (TextView из первой части вопроса) с верхним дополнением, равным верхнему значению ActionBar, поэтому теперь оно отображается вертикально ниже ActionBar как обычно (с другими проблемами в течение другого дня).