Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android系列講座(2):為TextView組件加上邊框

Android系列講座(2):為TextView組件加上邊框

編輯:Android開發實例

Android系統本身提供的TextView組件並不支持邊框,但可以對TextView進行擴展來添加邊框。我們可以使用如下兩種方法為TextView組件添加邊框。

1.  編寫一個繼承TextView類的自定義組件,並在onDraw事件方法中畫邊框。

2.  使用9-patch格式的圖像作為TextView的背景圖來設置邊框(這個背景圖需要帶一個邊框)。

在onDraw事件方法中畫邊框非常容易,只需 要畫TextView組件的上、下、左、右四個邊即可。這個自定義組件的代碼如下:

package net.blogjava.mobile;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.widget.TextView;

public class BorderTextView extends TextView
{
    @Override
    protected void onDraw(Canvas canvas)
    {
        super.onDraw(canvas);
        Paint paint = new Paint();
        //  將邊框設為黑色
        paint.setColor(android.graphics.Color.BLACK);
        //  畫TextView的4個邊
        canvas.drawLine(0, 0, this.getWidth() - 1, 0, paint);
        canvas.drawLine(0, 0, 0, this.getHeight() - 1, paint);
        canvas.drawLine(this.getWidth() - 1, 0, this.getWidth() - 1, this.getHeight() - 1, paint);
        canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1, this.getHeight() - 1, paint);
    }
    public BorderTextView(Context context, AttributeSet attrs)
    {
        super(context, attrs);
    }
}

注意:如果想讓TextView透明,也就是 將TextView的父視圖的背景色作為TextView組件的背景色,如圖2所示的第3個TextView組件,需要制作帶邊框的透明png圖像(除了邊框,圖像的其他部分都是透明的),然後再生成9-patch格式的圖像。

轉自:http://www.cnblogs.com/nokiaguy/archive/2010/07/15/1777835.html

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved