【发布时间】:2014-11-05 13:28:47
【问题描述】:
这个问题在某种程度上是my last question的延续。
我现在的问题几乎相同,除了不是在不同视图(即 ImageView 和 TextView)中分离图像和文本之外,我了解到我可以使用属性 android:drawableLeft 为我的文本“设置”图像(该建议是 Eclipse 向我指出的,LinearLayout 行上有一个警告图标)。
我认为唯一的区别是,不是用setImageResource() 方法设置ImageView,而是用setCompoundDrawablesWithIntrinsicBounds() 方法设置TextView 的drawableLeft。相反,当我进行更改时,我又回到了原来的问题:文本与视图的顶部边缘而不是中心对齐。
这就是我的 TextView 的样子:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/account_login"
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/pm_gmail"
android:drawablePadding="8dp"
android:text="example@gmail.com"
android:paddingLeft="16dp"
android:layout_gravity="left|center_vertical" />
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:layout_centerVertical="true"
android:layout_below="@id/account_login"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="5dp"
android:background="#DDDDDD" />
</RelativeLayout>
第二个View 只是一个分隔符。
... 这是设置上述属性后的布局: (我还没有足够的声望来发布图片,所以这里是link)
(需要说明的是,这只是一个静态示例。我的文本和图像都是在运行时在代码中动态设置的)。
非常感谢任何帮助。
【问题讨论】:
-
该死!为什么总是要这么简单,我却不明白? @Frank N. Stein,你介意解释一下区别吗?你不想回答这个问题让我接受吗?
-
刚刚做了。解释很简单。
标签: android android-layout layout textview compound-drawables