飞不起的小菜鸟 2016-09-22 08:19 采纳率: 100%
浏览 1085
已采纳

关于Android自定义view的问题

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

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

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

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

  • 写回答

3条回答 默认 最新

  • RoidCoder 2016-09-22 15:43
    关注

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • 关注

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

                不要super了,,像这样就是xml指定宽度确定高度了,必定是正方形...这样是忽略xml中的高度,高度再写任何都无效..
    
    评论
  • 关注

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

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 matlab最小二乘法拟合非线性曲线提问
  • ¥15 电脑锁屏时vba运行SAP,excel数据不能复制到SAP
  • ¥50 74LS系列 74LS00 74LS04设计一个RS485电路(关键词-差分)
  • ¥30 各位help写一下代码
  • ¥15 在运行SDEdit模型下载不了
  • ¥15 求51控制l298n驱动的小车中超声波避障怎么写
  • ¥15 电脑连上WIFI却用不了
  • ¥30 MATLAB在RLC电路的固有响应和阶跃响应GUI仿真报告
  • ¥15 hyper-v出现的问题
  • ¥15 有能用的可加酬金,求可以批量下载懒人听书的软件,能登录自己帐号的。