Android 自定义View的使用

本文介绍如何在Android开发中自定义View,通过新建JAVA类继承View并重写onDraw方法来绘制圆,演示了两种显示自定义View的方式:在Activity中直接使用构造方法或在Xml文件中作为控件使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     在Android开发中,很多自带的View满足不了我们的要求,所有我们可以自定义View来达到自己想要的效果

自定义View其实很简单也很好学,话不多说现在开始。

第一步:我们需要新建一个JAVA类 然后继承View  

举个很简单的例子 onDraw画圆

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;

public class DrawView extends View{

	
	public DrawView(Context context, AttributeSet attrs) {
		super(context, attrs);
		
	}

	protected void onDraw(Canvas canvas) {
		super.onDraw(canvas);
		Paint paint=new Paint();
		paint.setColor(Color.WHITE);
		paint.setAntiAlias(true);
		paint.setDither(true);
		paint.setStrokeWidth(10);
		paint.setStyle(Paint.Style.STROKE);
		canvas.drawCircle(300, 300, 250, paint);	
		
	}

}
切记:在自定义View的时候 要在Activity中显示出来 一定要使用 两个参数的构造方法 例如上述的Draw(Content content,AttributeSet attrs)

第二步:显示自定义View

这里有两个方法实现

第一种:在Activity里直接用 

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new DrawView(this, null));
    }


  
}
这样就实现了 显示 自定义View

第二种:在Xml文件里当做控件来使用

        <LinearLayout
            android:layout_width="300dp"
            android:layout_height="300dp"
            android:layout_centerInParent="true" >

            <com.draw.DrawView
                android:layout_width="300dp"
                android:layout_height="300dp"
                android:layout_centerHorizontal="true" />
        </LinearLayout>

如果要用 自定义VIEW里的变量 需要定义命名空间 xmlns  

例如   xmlns:hrr="http://schemas.android.com/apk/res/com.draw"   hrr自定义的名字  

作用和  android:layout_width的 android 一个作用

这样就在Activity里加载 布局XML文件 就可以显示了

下面上图

上面就是简单的自定义VIEW的实现   这是最简单的 也是最容易掌握的  当然还有另外复杂了 以后会讲到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值