java安卓布局与画布_【Android】自己定义View、画布Canvas与画笔Paint

本文介绍了如何在Android中自定义View,并结合Canvas和Paint进行绘图操作。通过一个实例展示了如何创建一个包含蓝色正方形和红色文字的自定义布局。详细讲解了构造方法、onDraw()方法的使用,以及画笔和画布的基本用法。
摘要由CSDN通过智能技术生成

安卓自己定义View事实上非常easy。

这个View能够像《【Android】利用Java代码布局,button加入点击事件》(点击打开链接)一样。利用Java代码生成一系列的组件。

也能够配合画布Canvas与画笔Paint来使用。

以下用一个样例来说明。例如以下图,有一个自己定义布局View。里面摆放着,利用画布Canvas与画笔Paint绘制出来的蓝色正方形与红色文字。

71898e2f1fb7764eb92f4555edb93dc3.png

在res\layout\activity_main.xml中。直接像摆放安卓固有组件一样,能够直接使用这个我定义组件。里面有蓝色正方形与红色文字。尽管没有卵用,可是这个简单样例,说明了自己定义View是怎么使用的。对于一些通过多个固有组件摆出来的视图能够多次复用。当中。这里com.define_view.MyView是我利用Java代码构造出来的类。

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

也就是说,要自己定义视图。必须先在src中新建一个Java文件。

6a5014edfdbc280719086fa0d33ed69d.png

这个Java文件名称字叫MyView.java,继承android.view.View。

5c9f4191e84a34df645c29f32d330658.png

新建完MyView.java。Eclipse会立即提醒你须要建立构造方法。

30c0263b975f8d4c81fa783222b2052d.png

假设以后这个自己定义View以后须要被Java代码操作。则须要第一个构造方法,假设这个自己定义View以后不过在xml文件里静态摆放则只须要第二个构造方法。假设两者都须要。你能够同一时候建立这两个构造方法……这里使用第二个。

之后,通过右击空白处->Source->Override/Implement Methods,直接从Eclipse拿来父类onDraw的方法。进行改写。

49078585595a9e67eca7ee08b0645471.png

把View.java的代码改写之后例如以下:

package com.define_view;

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 MyView extends View {

private Paint paint;

public MyView(Context context, AttributeSet attributeSet) {

super(context, attributeSet);

// 初始化画笔,不论什么初始化都不应在onDraw方法中,否则Eclipse会出现太过耗费内存的警告

// 构造方法就是用来初始化各种工具的

paint = new Paint();

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

paint.setColor(Color.BLUE);// 设置画笔颜色为蓝色

canvas.drawRect(10, 10, 100, 100, paint); // 绘制左上角在(10,10),大小为100x100的矩形

paint.setColor(Color.RED);// 设置画笔颜色为红色

paint.setTextSize(24);// 设置文字大小为24

canvas.drawText("我是被画出来的", 10, 120, paint);// 在(10,120)绘制文字

}

}之后在res\values\strings.xml改改应用名称,这个app就完毕了。自己定义View已经在上面的res\layout\activity_main.xml布置。

>

自己定义view

Settings

Hello world!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值