Android 中自定義View的應用

首先新建一個Android 工程 命名爲ViewDemo .
然後自定義一個View 類,命名爲MyView(extends View) .代碼如下:
package com.android.tutor;  
import android.content.Context;  
import android.graphics.Canvas;  
import android.graphics.Color;  
import android.graphics.Paint;  
import android.graphics.Rect;  
import android.graphics.Paint.Style;  
import android.util.AttributeSet;  
import android.view.View;  
public class MyView extends View {  
 private Paint mPaint;  
 private Context mContext;  
 private static final String mString = "Welcome to Mr Wei's blog";  
   
 public MyView(Context context) {  
  super(context);  
   
 }  
 public MyView(Context context,AttributeSet attr)  
 {  
  super(context,attr);  
   
 }  
 @Override  
 protected void onDraw(Canvas canvas) {  
  // TODO Auto-generated method stub  
  super.onDraw(canvas);  
    
  mPaint = new Paint();  
    
  //設置畫筆顏色  
  mPaint.setColor(Color.RED);  
  //設置填充  
  mPaint.setStyle(Style.FILL);  
    
  //畫一個矩形,前倆個是矩形左上角座標,後面倆個是右下角座標  
  canvas.drawRect(new Rect(10, 10, 100, 100), mPaint);  
    
  mPaint.setColor(Color.BLUE);  
  //繪製文字  
  canvas.drawText(mString, 10, 110, mPaint);  
 }  
}  

然後將我們自定義的View 加入到main.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"    
        >     
    <TextView       
        android:layout_width="fill_parent"      
        android:layout_height="wrap_content"      
        android:text="@string/hello"    
        />     
    <com.android.tutor.MyView     
        android:layout_width="fill_parent"      
        android:layout_height="fill_parent"      
    />     
    </LinearLayout>    
    <?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" 
        > 
    <TextView    
        android:layout_width="fill_parent"   
        android:layout_height="wrap_content"   
        android:text="@string/hello" 
        /> 
    <com.android.tutor.MyView 
     android:layout_width="fill_parent"   
        android:layout_height="fill_parent"   
    /> 
    </LinearLayout> 

文章轉自:http://weizhulin.blog.51cto.com/1556324/311457
發佈了11 篇原創文章 · 獲贊 8 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章