此标记及其子标记可以替换为一个<textview>和一个复合drawable:图片和文本</textview>

时间:2014-03-28 00:40:52

标签: android

我有这个代码

<ImageView
                        android:layout_width="20dp"
                        android:layout_height="20dp"
                        android:layout_gravity="center_vertical"
                        android:background="@drawable/tick"
                        android:contentDescription="img" />

                    <TextView
                        android:id="@+id/txt1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="10dp"
                        android:text="text1 "
                        android:textColor="#fff"
                        android:textSize="@dimen/sizeNormal" />

我正在发出警告This tag and its children can be replaced by one <TextView/> and a compound drawable

我如何将它们合并到一个textview?

我已经尝试但同时我有刻度图像尺寸问题。

在这里你可以看到图像

enter image description here

2 个答案:

答案 0 :(得分:1)

只是一个警告,应用程序仍应编译并运行。但是,这并不意味着您只想解除所有警告。

现在,有不同的方法可以做到这一点。您可以在xml中使用drawableLeft。像

这样的东西
<TextView
      android:id="@+id/txt1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="10dp"
      android:text="text1 "
      android:textColor="#fff"
      android:textSize="@dimen/sizeNormal"
      android:drawableLeft="@drawable/tick />

您还可以在Java代码中看到 here in the docs调整它的不同方法。

要在图片和文字之间设置padding,请尝试使用

yourTextView.setCompoundDrawablePadding(somePadding);  

其中somePaddingint所需padding的值。

答案 1 :(得分:1)

使用文字复合抽奖。

<TextView
    android:id="@+id/txtTitle"
    android:drawableLeft="@drawable/g_device_access_storage"
    android:drawableRight="@drawable/g_navigation_refresh"
    android:paddingRight="55dp"
    android:text="hello" />