2015年5月20日 星期三

L4: 畫圖

想要在手機上畫個圖,說起來容易,可是似乎又有些摸不著頭緒。在這節中,將要達到一個簡單的目的: 在螢幕上顯示一個圓。單純的目的,讓我們可以一步步了解Android 畫圖的基礎。

1. 要自製一個View的類別(Class),首先在 app / java 下與 MainActivity 同一套件下產生一個新類別 PaintView (自訂名稱)。



按下OK後,會出現 public PaintView 的程式,將其改寫為 public PaintView extends View,然後如前面L3所說,當出現紅色底線毛毛蟲時,按下alt-Enter,讓Android Studio幫忙,選擇建立Constructor,就可得到下列程式。

public class PaintView extends View {
    public PaintView(Context context) {
        super(context);
    }
}

2. 為 PaintView 加上 onDraw方法的改寫,讓App在重繪 PaintView時,能畫出一個圓形。

public class PaintView extends View {
    public PaintView(Context context) {
        super(context);
    }
    protected void onDraw(Canvas canvas){
        Paint paint = new Paint();
        canvas.drawColor(Color.WHITE);  //設定畫布顏色
        paint.setColor(Color.BLACK);    //設定畫筆顏色
        canvas.drawCircle(100,100,50,paint); //在座標100,100處,以paint屬性畫出一個半徑50的圓
    }
}
PaintView 在這個例子中這樣就夠了,但是以後要再加功能,就要到這裡修改。

3. 為 App 畫面加上 PaintView這個CustomView。
如上圖選擇後,將它擺到畫面中即可。

4. 最後將 MainActivity.java中的onCreate 改寫如下即可。
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.activity_main);    PaintView pp = new PaintView(this);
    setContentView(pp);
}

5. 完工。



沒有留言:

張貼留言