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

你可能感兴趣的:(android,String,layout,Class,import,encoding)