小试view的执行过程,此是入门,高手绕道。
--------------------------------------------------------------------------------
此为抛砖引玉,个人看官自己发挥。
结果如下:
12-05 22:23:03.587: D/mDebug(9715): TestView context, attrs=@2131034112
12-05 22:23:03.597: D/mDebug(9715): onFinishInflate
12-05 22:23:03.667: D/mDebug(9715): onSizeChanged,w=240,h=282,oldw=0,oldh=0
12-05 22:23:03.727: D/mDebug(9715): onDraw
12-05 22:23:03.757: D/mDebug(9715): onDraw
[size=l代码如下:[/size]
public class TestView extends View {
public TestView(Context context) {
super(context);
Log.d("mDebug", "TestView context");
}
public TestView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
Log.d("mDebug", "TestView context,attrs,defStyle attrs="+attrs.getAttributeValue(0));
}
public TestView(Context context, AttributeSet attrs) {
super(context, attrs);
Log.d("mDebug", "TestView context, attrs="+attrs.getAttributeValue(0));
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
Log.d("mDebug", "onDraw");
}
@Override
protected void onFinishInflate() {
// TODO Auto-generated method stub
super.onFinishInflate();
Log.d("mDebug", "onFinishInflate");
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
// TODO Auto-generated method stub
super.onSizeChanged(w, h, oldw, oldh);
Log.d("mDebug", "onSizeChanged,w="+w+",h="+h+",oldw="+oldw+",oldh="+oldh);
}
}
问题: 构造函数的context为何物,attrs从何处来
看到这篇文章貌似解决了以上问题。
http://blog.csdn.net/z103594643/article/details/6755017
扩展地址:http://developer.android.com/reference/android/view/View.html
分享到:
相关推荐
ondraw不执行,请大神帮忙
自定义VIew之onDraw方法Demo,以及总结;
Android 中View.onDraw(Canvas canvas)的使用方法 View通过View.onDraw(Canvas canvas)来Draw. 我们可以定义自己的继承于View的TestView,然后重载View.onDraw(Canvas canvas). 对于自定义的TestView如何与Activity...
以下是对Android通过onDraw实现在View中绘图操作的示例代码进行了详细的分析介绍,需要的朋友可以过来参考下
Android自定义View实现圆形进度条。源码非常简单、可以在View的onDraw方法上自己做一些修改。很容易达到想要的效果。
主要解析了Android自定义View绘制的方法及过程,介绍了onSizeChanged、onDraw、onMeasure顺序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
android中自定义视图view的讲解,有很多现有的例子可以进行使用,非常方便
OnDraw--paint.setColorFilter,实现PatternView的画 点 和圆环 效果
继承view;重写ondraw方法和onsizechange方法;使用paint类进行画图;x和y的值不是固定的;
Android自定义的view,主要是继承view,然后实现ondraw这个方法,来进行绘制。 1. 编写自己的自定义view 2. 加入逻辑线程 3. 提取和封装自定义view 4. 利用xml中定义样式来影响显示效果 一、编写自定义...
android:layout_width=match_parent android:layout_height=match_parent android:clipChildren=false> <ImageView android:layout_width=match_parent android:layout_height=match_parent an
view.onDraw–>canvas.draw–>rasterizer–> view.onDraw–>canvas.draw- openGL–>GPU–>rasterizer-> 1. Canvas.draw 绘制 录制 2. view 3. GPU JANK Drawing without VSync JellyBean 4.1 Drawing with VSYnc ...
首先我们需要了解下View类的底层实现,在SDK中我们可以看到View直接继承于Java的基类Object,实现了图形绘制和按键事件Drawable.Callback KeyEvent.Callback的相关方法,我们自绘时主要实现其内部的onDraw方法,...
本文实例讲述了Android中View的炸裂特效实现方法。...ExplosionField 继承自 View,在 onDraw 方法中绘制动画特效,并且它提供了一个 attach2Window 方法,可以把 ExplosionField 最为一个子 View 添加到 Ac
public void onDraw() { // TODO Auto-generated method stub } }); //view加载完成时回调 view.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @Override public void ...
在自定义View时,我们通常会去重写onDraw()方法来绘制View的显示内容。如果该View还需要使用wrap_content属性,那么还必须重写onMeasure()方法。另外,通过自定义attrs属性,还可以设置新的属性配置值。
WheelView Android时间、日期滚轮选择控件,继承View,重写onDraw()方法,轻量实现
详细介绍OnDraw与OnPaint有什么区别