轉載請註明地址:http://blog.csdn.net/ethan_xue/article/details/7313788
ps: 可根據apidemo裡LableView,list4,list6學習
文檔在dev guide/Framework Topics/User Interface/Building Custom Components
自訂控制項的步驟:
1 View的工作原理
2 編寫View類
3 為View類增加屬性
4 繪製螢幕
5 響應使用者訊息
6 自訂回呼函數
不多說,主要是Canvas, Paint, Path
public class CustomView1 extends View {private Paint mPaint;// private static final String mText = "drawText";private String mText = "drawText";public CustomView1(Context context, AttributeSet attrs) {super(context, attrs);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);mPaint = new Paint();mPaint.setColor(Color.BLUE);// FILL填充, STROKE描邊,FILL_AND_STROKE填充和描邊mPaint.setStyle(Style.FILL);canvas.drawRect(new Rect(10, 10, 100, 100), mPaint);// 畫一個矩形mPaint.setColor(Color.GREEN);mPaint.setTextSize(35.0f);canvas.drawText(mText, 10, 60, mPaint);}}
布局
<?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" ><ethan.customview1.CustomView1 android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
注意,此時,在控制項下放一個textView的話,是顯示不出來的(TextView放在控制項上面可以顯示),以後再解決
http://download.csdn.net/detail/ethan_xue/4108820