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));