摘要:
除非你总是需要一个100×100像素的控件,否则,你必须要重写onMeasure。onMeasure方法在控件的父元素正要放置它的子控件时调用。它会问一个问题,“你想要用多大地方啊?”,然后传入两个参数——widthMeasureSpec和heightMeasureSpec。它们指明控件可获得的空间以及关于这个空间描述的元数据。比返回一个结... 阅读全文
摘要:
onDraw方法是一个发挥想象的地方。如果你正在白手起家式地创建一个widget,正是由于你想创建一个全新的视觉界面。onDraw方法中传入的Canvas参数就是一个表面,你用它来给你的想象赋予生命。通过一些Paint对象,Android提供了一系列工具来帮助你在Canvas上绘制你的设计。Canvas类包含一些辅助方法来绘制基本的2D对象,包括圆、线、矩形、文本和图片等。当你在其上绘制时,它也支... 阅读全文
摘要:
基本的View类代表一个全空的100×100像素的正方形。为了改变控件的大小和显示更炫的视觉效果,最具代表的,你需要重写onMeasure和onDraw方法。在onMeasure方法里,新的View会依据给的边界条件来计算它要占据的高度和宽度。在onDraw方法里,通过在画布上画画来创建视觉界面。接下来的代码片段给出了一个新的View类的框架代码,我们将在接下来的章节更加深入的讨论:pu... 阅读全文