У меня есть такая раскладка:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/account_display_name"
style="@style/AccountDataDisplayName"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="center_vertical"
tools:text="DisplayNameIsLongSoItShouldBeTruncatedAtSomePoint"/>
<TextView
android:id="@+id/account_name"
style="@style/AccountDataAccountName"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
tools:text="emailisverylongaswellwewantittogettruncated@gmail.longdomain.com"/>
</LinearLayout>
, когда видимость account_display_name
переключается на GONE и VISIBLE динамически.
В одном случае виден только accountName, тогда значок coumpoundDrawable тоже кажетсявысота.
В противном случае видны и accountName, и DisplayName.Тогда значок coumpoundDrawable кажется слишком низким.
* Я скоро добавлю изображение макета ispector.
это код Java:
TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(
targetTextView, null, null, drawable, null);
как может получиться, что "setCompoundDrawablesRelativeWithIntrinsicBounds"
делает разные центрирования на одном и том же ресурсе?
Я полагаю, это потому, что accountName равен wrap_content
, поэтому он больше, когда один?
какая логика центрирования и позиционирования вызывает эту разницу?возможно я что-то упускаю в позиционировании compundDrawable.
Или как мне это исправить?
layout_gravitig:"center_vertical"
в xml для accountName
и DisplayName
?