Поверхность TextView Верхний цвет

У меня есть TextView, и я хочу поместить другой цвет на верхнюю границу (скажем, белый). Я пробую что-то вроде этого, но не работает (поместите белую границу на все поля – влево, вправо, вверху, внизу)

<TextView android:layout_height="50dip" android:text="@string/total" android:background="@drawable/border_top_textview" android:textColor="#FFFFFF" android:id="@+id/totalCash" android:layout_width="match_parent" android:gravity="center_vertical" android:textSize="26dip" android:layout_weight="0.3" android:textStyle="bold"></TextView> 

И border_top_textview.xml

 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <item> <shape android:shape="rectangle"> <stroke android:width="2dp" android:height="2dp" android:color="#FFFFFF" /> <solid android:color="#000000" /> <padding android:top="1dp" android:bottom="1dp" /> </shape></item></layer-list> 

Самый простой способ – использовать 9 патч-изображений в качестве фона с нужной границей.

или

Попробуйте это, может быть, это вам поможет, оно создаст LINE в верхней части, которая будет выглядеть как граница:

 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="line"> <stroke android:width="5dp" android:color="#FFFF00" /> <solid android:color="#00000000" /> <padding android:top="25dp" /> </shape> </item> </layer-list> 

Здесь вы можете поместить эти строки в тег формы,

 <stroke android:width="4dp" android:color="#FFFFFF" /> <padding android:left="0dp" android:top="7dp" android:right="0dp" android:bottom="0dp" /> 

Положить верхнее дополнение по крайней мере 5 дп и сделать другие 0dp

 public class MyTextView extends TextView { public MyTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public MyTextView(Context context, AttributeSet attrs) { super(context, attrs); } public MyTextView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Rect rect = new Rect(); Paint paint = new Paint(); paint.setStyle(Paint.Style.STROKE); paint.setColor(Color.WHITE); paint.setStrokeWidth(3); getLocalVisibleRect(rect); canvas.drawRect(rect, paint); } } 

Xml Файл:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <samples.test.MyTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout> 

Глянь сюда

Попробуйте этот сложный способ использовать изображение в качестве границы и использовать этот код, он будет работать нормально.

 enter code here <TextView android:id="@+id/text1" android:layout_width="100dp" android:layout_height="wrap_content" android:drawableTop="@drawable/header1" android:gravity="center" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" android:textSize="20sp" android:textColor="@drawable/selector_icon_text_color" android:text="Hussain"> </TextView>