/*
* 這個demon演示了點的繪製
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new SampleView(this));
}
private class SampleView extends View{
private Paint mPaint=new Paint();
//定義點的座標
private float[] pts;
//定義圖形的寬度
private static final float SIZE=300;
//定義間隔的數量
private static final int SEG=32;
//繪製點
private void buildPoints(){
//點的數量
int ptCounts=(SEG+1)*2;
pts=new float[ptCounts*2];
float value=0;
//計算兩點之間的間距
float delta=SIZE/SEG;
for(int i=0;i<=SEG;i++){
//設置兩個點的座標並將其存入到浮點數組當中,第一個點的座標爲橫向最後一個點,
//第二個點爲縱向第一個點
pts[i*4]=SIZE-value;
pts[i*4+1]=0;
pts[i*4+2]=0;
pts[i*4+3]=value;
value+=delta;
}
}
public SampleView(Context context) {
super(context);
buildPoints();
}
//通過畫直線構建一個曲線
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.translate(10, 10);
canvas.drawColor(Color.WHITE);
mPaint.setColor(Color.RED);
//參數爲0表示線的寬度爲1象素
mPaint.setStrokeWidth(0);
//畫線,第一個點與第二個點連接,第三個點與第四個點連接.....
canvas.drawLines(pts, mPaint);
mPaint.setColor(Color.BLUE);
mPaint.setStrokeWidth(3);
//畫點
canvas.drawPoints(pts, mPaint);
}
}
}
Android Api Demos登頂之路(八十三)Graphics-->Point
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.