2016-04-22 4 views
0

Я определил форму, пригодную для рисования, это линия.TextView не может установить drawableLeft (или Top, Right, Bottom) с возможностью рисования формы?

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

, а затем я установил эту форму в drawableBottom TextView, но это не сработало.

<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" /> 

Почему и как он может работать?

+0

Вы пытались установить атрибут 'android: height' для штриха в вашей форме? – SlashG

+0

инсульт не имеет атрибута «android: height» – idengpan

ответ

3

Попробуйте это !!!!

<?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> 
0

Одним из решений является просто добавить отдельный вид под текстом. Так как вы просто хотите, чтобы линия добавила вид и установила высоту в 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> 
+0

Я знаю это решение, но не хочу его использовать. Благодаря! – idengpan

+0

@idengpan lol: D –