View组件类似于javaSwing中的JPanel。它只是一个巨型的空白区域,view组件内没有任何的内容,对于android的其他组件来说,他们都继承了view组件,并在view所提供的空白区域进行外观编辑,
下面是view开发是所用到的回调方法:
onFinishInflate() 当View中所有的子控件均被映射成xml后触发
onMeasure(int,
int) 确定所有子元素的大小
onLayout(boolean, int, int, int, int)
当View分配所有的子元素的大小和位置时触发
onSizeChanged(int, int, int, int)
当view的大小发生变化时触发
onDraw(Canvas) view渲染内容的细节
onKeyDown(int, KeyEvent) 有按键按下后触发
onKeyUp(int, KeyEvent)
有按键按下后弹起时触发
onTrackballEvent(MotionEvent) 轨迹球事件
onTouchEvent(MotionEvent) 触屏事件
onFocusChanged(boolean, int, Rect)
当View获取或失去焦点时触发
onWindowFocusChanged(boolean) 当窗口包含的view获取或失去焦点时触发
onAttachedToWindow() 当view被附着到一个窗口时触发
onDetachedFromWindow() 当view离开附着的窗口时触发
onWindowVisibilityChanged(int) 当窗口中包含的可见的view发生变化时触发
实例:随手指动的小球
自定义组件:
package cn.haozi;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class Drawview extends View {
public float currentX = 40;
public float currentY = 50;
public Drawview(Context context) {
super(context);
}
public void onDraw(Canvas canvas){
super.onDraw(canvas);
//创建一个画笔
Paint p = new Paint();
//设置画笔的颜色
p.setColor(Color.BLUE);
//绘制一个小球
canvas.drawCircle(currentX, currentY, 15, p);
}
}
activity类:
package cn.haozi;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.LinearLayout;
public class DrawroolActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout root = (LinearLayout) findViewById(R.id.root);
final Drawview draw = new Drawview(this);
draw.setMinimumHeight(300);
draw.setMinimumWidth(500);
//为draw添加绑定touch事件
draw.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View agr0, MotionEvent event) {
//修改draw组件的两个属性
draw.currentX = event.getX();
draw.currentY = event.getY();
//重绘
draw.invalidate();
return false;
}
});
root.addView(draw);
}
}
发表评论
-
C 语言重点知识 面试必备2
2012-03-11 15:26 11151、unsigned int 类型的数据与int类型的数据运算 ... -
C 语言重点知识,面试必备
2012-03-10 22:48 17461、宏定义:也就是常用来做定值用的: ... -
scanf 很有用的用法
2012-03-10 22:26 935[size=small]1、可用来检查输入值是否被接受[/s ... -
常量与操作符
2012-03-09 22:01 745一、常量 %d属于的是常量类型的替换, int % ... -
常量与操作符
2012-03-09 22:00 703一、常量 %d属于的是常量类型的替换, int % ... -
C语言基础总结
2012-03-09 21:59 947数据类型和变量: 从属的对象不同,空间不同,数据类型的不同可以 ... -
C/C++ 指针部分总结1
2012-03-09 21:57 10491、指向常量的指针,防止通过指针去修改变量的值,而不管变量是否 ... -
android五种布局-霓虹灯效果实现
2012-02-28 19:15 2454android五种布局-霓虹灯效果实现 ... -
自定义view-跟随手指动的小球
2012-02-28 08:38 0自定义view-跟随手指动的小球自定义view-跟随手指动的小 ... -
使用xml布局和java代码控制UI-图片浏览器
2012-02-28 08:28 1497在android中。XML和java代码同样拥有控制布局的能力 ... -
Android界面编程与视图(view)组件
2012-02-22 17:49 1514android.view.View 已知直接子类: ... -
Android应用的基本组件介绍
2012-02-21 21:30 1241android应用的基本组件介绍: 1、Activit ... -
Android学习-应用与开发环境(一)
2012-02-21 20:59 1004工程; 1、 src文件夹存放源码。 2、 gen下有跟 ... -
JSP分页实例
2011-11-07 19:29 642分页技术实现 在开发网站的项目中难免会遇到各种各样的分页操作 ... -
Servlet和JSP复习笔记
2011-11-07 19:51 7131. 理解典型的Web应用 1.1 浏览器客户端、We ...
相关推荐
Android 自定义view-仿新浪微博#话题#插入EditText 博客地址http://blog.csdn.net/u014702653/article/details/52799715
Android自定义View-点赞动画效果View-Demo,点赞后,会有动画效果,绘制箭头。
自定义View---三种事件的触发、自定义View属性
《Android 群英传》读书笔记:自定义 View ---- 音频条形图 博客地址:http://blog.csdn.net/like_program/article/details/53352899
自定义View 跟随手指滑动 手指抬起后 自动吸附屏幕边缘
安卓自定义View---视频音量调控 资源为博客实例:http://blog.csdn.net/wangxiyue0311/article/details/77929846 有问题博客留言
Android自定义View-开关按钮
Android自定义View-动态的文字闪动效果demo
自定义View-文字变色效果
自定义 View 有动画 递增效果 的 柱状图 ,具有 X Y轴标注,以及 动画递增效果
Android自定义View---秒表/时钟 博客地址 http://blog.csdn.net/liujunpen/article/details/53737624
android自定义view-打造圆形圆角图片(三),对应博客:http://blog.csdn.net/smarticeberg/article/details/51084216
自定义View-步数进度效果
Android自定义View-实现圆形水波进度条
自定义view-仿支付宝芝麻分表盘,适合初学者
在我们从Android小学生 进阶到 Android中学生的路上,肯定需要经历 自定义View。 大神已经给出了,最精简的Demo,我这里 顺水推舟,把一些基础知识 标记在代码之中,各位可以一边看源码 一边学基础。 觉得文章有用,...
《Android 群英传》读书笔记:自定义 View -- 比例图 博客地址:http://blog.csdn.net/like_program/article/details/53241308
一个自定义的你画我猜的画笔。一共有三个自定义view组成
Android自定义 View - 仿淘宝 淘抢购进度条
android自定义view-劳力士手表。 [注意:本资源来自网络,如有侵权,请联系我删除,谢谢。]