2 qq 23933895 qq_23933895 于 2016.09.22 16:19 提问

关于Android自定义view的问题

小菜在使用代码自定义view中遇到几个问题想请大神
解答

1、在drawRect(float left,flat top,float right,float bottom,Paint paint)中前四个参数是指绘制矩形view的坐标,意味着左上角和左下角的坐标都被确定了,那么他的长度和宽度不是就已经被确定好了么?如果不是请赐教如何不通过xml来设置其长度和宽度。(最好能是正方形的)

2、在onDraw()方法中如何定义多个矩形view?

3、在自定义矩形view中,如果要设置文字如何使其在矩形vie中心处?

3个回答

oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.09.22 23:43
已采纳

可能你还没弄懂这个方法参数的含义:drawRect(float left,flat top,float right,float bottom,Paint paint)

left:表示左上角距离左边距离
top:表示左上角距离上边距离
right:表示右下角距离右边距离
bottom:表示右下角距离上边距离
paint:就是画笔啦

u013147734
u013147734   2016.09.23 17:15

重写方法
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(getMesureSize(widthMeasureSpec), getMesureSize(widthMeasureSpec));
}

            不要super了,,像这样就是xml指定宽度确定高度了,必定是正方形...这样是忽略xml中的高度,高度再写任何都无效..
u013147734
u013147734   2016.09.23 17:20

2、在onDraw()方法中如何定义多个矩形view?onDraw方法不能画View,要画多个矩形的话调用多次drawRect就好了
3.画文字,既然你知道这个View的宽高,,通过计算决定就好了。其次不如继承TextView,文字居中它已有现成方法

Csdn user default icon
上传中...
上传图片
插入图片