自定义View遇到的相关问题

1、在scrollView中加入自定义View

    (1),首先是要做一个水平滚动条,发现用scrollView 设置属性android:scrollbars ="Horizontal"居然不行,然后才发 现要用HorizontalScrollView,真是醉了

     (2),需要HorizontalScrollView不显示滚动条,解决如下:

android:scrollbars="none"

      (3),view的实际宽度为0,原因是没有重写onMeasure,当父容器可以无限大时子容器却会size=0

解决如下

int screenWidth;
int screenHeight;
screenWidth=manager.getDefaultDisplay().getWidth();
screenHeight=manager.getDefaultDisplay().getHeight();
    @Override
    public void onMeasure(int widthMeasureSpec,int heightMeasureSpec){
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        int width=MeasureSpec.getSize(widthMeasureSpec);
        int height=MeasureSpec.getSize(heightMeasureSpec);
        
        Log.v("MyBarChart", "width:"+width+" height:"+height);        
        this.setMeasuredDimension(screenWidth+200, height);//只针对匹配屏幕大小
    }


       (4),paint画圆弧的时候发现圆弧角度小于360时不会显示,这里其实错的地方很明显,当我们把矩形的top和bottom弄反时就会出现这样的问题

<pre name="code" class="java"><pre name="code" class="java">//RectF oval=new RectF(50,500,150,400);//--------------------->错误

 
RectF oval=new RectF(50,400,150,500);//--------------------->正确
canvas.drawArc(oval, 90, 270, false, p);

 

          (5) Paint设置透明度无效果:

Paint设置透明度必须要在设置颜色之后,否则无效果

Paint pieBgLineP=new Paint();
pieBgLineP.setStrokeWidth(5);
pieBgLineP.setColor(getResources().getColor(R.color.chart_Pie_bg_line));
pieBgLineP.setAlpha(145);//有效果

Paint pieBgLineP=new Paint();
pieBgLineP.setStrokeWidth(5);
<span style="font-size:18px;"></span><pre name="code" class="java">pieBgLineP.setAlpha(145);//无效果
pieBgLineP.setColor(getResources().getColor(R.color.chart_Pie_bg_line));

 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值