SVG转换为coumpoundDrawable看起来并不以文本为中心

时间:2018-09-21 20:25:43

标签: android text layout center drawable

我有这样的布局:

<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的可见性被动态地改变为“消失”和“可见”时。

在一种情况下,只有accountName是可见的 然后,pumpoundDrawable图标似乎太高了。

enter image description here

在其他情况下,accountName和DisplayName均可见。 然后,coumpoundDrawable图标似乎太低了。

enter image description here

*我将很快添加版面等距图像。

这是Java代码:

   TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds(
        targetTextView, null, null, drawable, null);

"setCompoundDrawablesRelativeWithIntrinsicBounds"如何利用相同的资源进行不同的居中?

我想这是因为accountName是wrap_content,所以单独使用时会更大吗?

导致居中和定位的逻辑是什么?也许我在compundDrawable定位中缺少了一些东西。

或者我该如何解决?

layout_gravitig:"center_vertical"accountNameDisplayName的xml吗?

2 个答案:

答案 0 :(得分:0)

尝试

docker run -p 8888:8888 -p 4040:4040 -v "$PWD":/home/jovyan/work jupyter/all-spark-notebook

答案 1 :(得分:0)

通常,可绘制的复合重力为中心,您需要检查SVG视口边界,以了解它们是否将矢量定位在中心,或者在矢量上方有一些顶部填充。