实现一个最简单的自定义View,实现贪吃蛇使用的页面

2017-12-07  本文已影响0人  IsCoding

如何自定义View

第一步就是定义一个类继承自View。
然后实现他的构造方法,这样一个自定义View就写完了,然后我们可以根据需求做很多事

public class TestView extends View {
    public TestView (Context context) {
        super(context);
    } 
    public TestView (Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    } 
}

上面就是一个自定义View,虽然里面什么也没有实现。
但是这就是一个自定义View了
现在我们想实现在这个View上面画一条直线
然后画一个长方形,和一个圆
先看一下代码是如何实现的

public class TestView extends View {

    public TestView(Context context) {
        super(context);
    }

    public TestView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
    }

    //绘制方法
    @Override
    protected void onDraw(Canvas canvas) {
        Paint mPaint = new Paint();
        mPaint.setColor(Color.RED);
        canvas.drawLine(100,100,100,1000,mPaint);

        mPaint.setColor(Color.BLUE);
        canvas.drawRect(200,200,400,400,mPaint);
        
        mPaint.setColor(Color.GREEN);
        canvas.drawCircle(500,500,200,mPaint);
    }
}

我们要做的 在自定义View覆盖 protected void onDraw(Canvas canvas)方法
然后调用系统自带的画线,长方形,和圆的方法,直接绘制页面就可以了
Paint 对象相当于画笔,这里只是用来设置颜色 。

这样一个自定义View就写完了
我们可以直接new 这个View 然后设置到Activity里面
也可以写到xml布局里。在Activity里面引用
下面给出new的方法

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_main);
        TestView testView= new TestView(this);
        setContentView(testView);
    }
} 

运行起来看看效果吧。

这篇文章主要是为编写贪吃蛇游戏使用
自定义View用这些知识就可以编写贪吃蛇了。

上一篇 下一篇

猜你喜欢

热点阅读