TextView无法使用Shape drawable设置drawableLeft(或Top,Right,Bottom)?

时间:2016-04-22 07:18:13

标签: android textview drawable shape

我定义了一个可绘制的形状,它是一条线。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line" >
<stroke android:color="#f00" android:width="2dp"/>
</shape>

然后我在TextView的drawableBottom中设置了这个形状,但它没有用。

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:drawableBottom="@drawable/shape_line"
    android:drawablePadding="5dip"
    android:text="Hello World" />

为什么以及如何让它发挥作用?

2 个答案:

答案 0 :(得分:6)

试试这个!!!!

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >

<size
    android:height="1dp"
    android:width="500dp" />

<solid android:color="#f00" />

</shape>

答案 1 :(得分:0)

一种解决方案是在textview下面添加一个单独的视图。由于您只需要一行添加一个视图并将高度设置为2dp,背景颜色设置为#f00

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:drawableBottom="@drawable/shape_line"
    android:drawablePadding="5dip"
    android:text="Hello World" />

<View
    android:layout_width="wrap_content"
    android:layout_height="2dp"
    //set your custom color
</View>