自定义View
2016-06-19 12:28
253 查看
简单的实现自定义View
public View (Context context)是在java代码创建视图的时候被调用(使用new的方式),如果是从xml填充的视图,就不会调用这个
public View (Context context, AttributeSet attrs)这个是在xml创建但是没有指定style的时候被调用
public View (Context context, AttributeSet attrs, int defStyle)这个是在第二个基础上添加style的时候被调用的
public View (Context context)是在java代码创建视图的时候被调用(使用new的方式),如果是从xml填充的视图,就不会调用这个
public View (Context context, AttributeSet attrs)这个是在xml创建但是没有指定style的时候被调用
public View (Context context, AttributeSet attrs, int defStyle)这个是在第二个基础上添加style的时候被调用的
<span style="font-family:KaiTi_GB2312;font-size:18px;">package com.example.myrect.rect; 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 { /** * @param context * @param attrs * @param defStyleAttr */ public MyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } /** * @param context * @param attrs */ public MyView(Context context, AttributeSet attrs) { super(context, attrs); init(); } /** * @param context */ public MyView(Context context) { super(context); init(); } /** * 初始化画笔的属性 */ private void init() { p=new Paint(); p.setColor(Color.RED);//设置画笔颜色为红色 } @Override public void draw(Canvas canvas) { // 这里是绘制方法 super.draw(canvas); canvas.save();//保存 canvas.translate(200, 200);//画布平移 canvas.rotate(degrees,50,50);//旋转 canvas.drawRect(0, 0, 100, 100, p);//绘制100*100的矩形 canvas.restore();//取出保存的状态 degrees+=100; invalidate();//重复绘制 } private Paint p;//画笔 private float degrees=0;//旋转角度 } </span>
相关文章推荐
- 阿里妈妈-RAP项目的实践(1)
- 【转】Reactor与Proactor两种模式区别
- JavaWeb配置数据源连接数据库详解(概念详解+多种情况源代码范例+易出错类型)
- Python nltk English Detection
- Java千百问_02基本使用(011)_如何编写单线程Socket程序
- mongodb 只查询一个字段
- 八大排序算法二分查找
- POJ 2184 Cow Exhibition
- Android处理输入事件的流程(一)
- leetcode_c++:Missing Number(268)
- while的另外几种用法
- Java虚拟机(JVM)以及跨平台原理
- 游标的使用
- matlab从入门到精通(一)安装软件及使用方法
- VS”不能设置下面断点“和”无法单步执行“问题
- ios计算函数的执行时长
- Ubuntu 14.04 安装录音软件Audacity
- mysqladmin
- android 开发 - 网络图片加载库 Fresco 的使用。
- RecyclerView及SwipeRefreshLayout的使用