2014-09-04 65 views
0

我的应用程序中有一个textview,其中android:layout_width设置为fill_parent,android:gravity是“center”。现在我想在textview的文本旁边绘制可绘制的对象。那可能吗?在textview中对齐drawable

回答

0

根据所需的位置,使用它们在文本视图旁边设置绘图。 enter image description here

+0

这是行不通的,因为他们会导致这样的事情:[链接](http://i.imgur.com/oVXcZda.png) – f4bzen 2014-09-04 21:09:48

+0

则只是把它在具有match_parent宽度的LinearLayout中,并将TextView的宽度设置为wrap_content – 2014-09-06 13:27:03

0

单独使用TextView对于实现您想要的非常有限。

一种选择是使用自定义布局。您可以查看HorizontalTailLayout。这很容易拾取和投入你应该工作的项目。

另一个不完美的选择是使用RelativeLayout和android:gravity="fill"。这将确保ImageView始终坚持到TextView的尾部。但缺点是它不能将内容居中,即使使用其他布局包装时也是如此,因为使用android:layout_alignParentRight="true"会将RelativeLayout拉到最右边。

例子:

<RelativeLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="fill"> 

    <ImageView 
     android:id="@+id/iv" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="5dp" 
     android:layout_alignParentRight="true" 
     android:src="@android:drawable/ic_lock_lock"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/iv" 
     android:layout_centerVertical="true" 
     android:singleLine="true" 
     android:ellipsize="end" 
     android:text="Hello World! Hello World! Hello World! Hello World! Hello World! Hello World! "/> 

</RelativeLayout>