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