2010-01-08 12 views

Odpowiedz

16

Proponuję rozszerzyć TextView
Zobacz Android Custom Component Guide

android_text_border

package samples.test; 
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);  
    } 
} 

niż używać go w układ 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> 
5

Najprościej jest użyć tła 9 łat.

<TextView android:id="@+id/txt_target" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="000000000" 
      android:gravity="center_vertical" 
      android:background="@drawable/textfield_default" 
      android:layout_marginRight="5dip" /> 
Powiązane problemy