2014年10月6日 星期一

Android程式設計-繪圖(9個小圈圈)

Android 繪圖(9個小圈圈)程式碼範例(20141007)


1.新增專案後建立一個繼承 View 的 viewDrawDot 類別,程式碼如下
public class viewDrawDot extends View {

public viewDrawDot(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);

int h, w;

h = getHeight(); 
w = getWidth();

Paint p = new Paint();
p.setStyle(Style.FILL);

for (int i = 1; i < 4; i++) {
for (int j = 1; j < 4; j++) {
p.setColor(Color.GREEN);  //設定畫筆顏色(綠色)
canvas.drawCircle(w / 4 * i, h / 4 * j, w / 20, p);//依迴圈次數繪製9個大圓
p.setColor(Color.WHITE);//設定畫筆顏色(白色)
canvas.drawCircle(w / 4 * i, h / 4 * j, w / 30, p);//在9個大圓上在繪製9個小圓
}
}

}


}


2.在程式入口的主程式onCreate方法內 new 一個 viewDrawDet 類別,並將該類別指定給setContentView方法,程式碼如下:
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//使用匿名方式創建myView並引入setContentView的方法內
setContentView(new  viewDrawDot(this));
}
}

Android程式設計-繪圖(畫線成網)

Android 繪圖(畫線成網)程式碼範例(20141007)

1.新增專案後建立一個繼承 View 的 viewDrawNet 類別,程式碼如下
public class viewDrawNet extends View {

// 建構子
public viewDrawNet(Context context) {
super(context);
// TODO Auto-generated constructor stub
}

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
int h, w;

w=getWidth();
h=getHeight();
Paint p = new Paint();    //設定畫筆
p.setColor(Color.BLUE);//設定畫筆顏色(藍色)
p.setStyle(Style.FILL);//設定畫筆繪圖樣式(填滿)
for (int i = 0 ; i<w ; i +=10)       //使用畫線的方式繪製網圖
canvas.drawLine(0, h-w+i, i, h, p);
}

}

2.在程式入口的主程式onCreate方法內 new 一個 viewDrawNet 類別,並將該類別指定給setContentView方法,程式碼如下:
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//使用匿名方式創建myView並引入setContentView的方法內
setContentView(new  viewDrawNet(this));
}
}

Android程式設計-繪圖(畫圓)


Android 繪圖(畫圓)程式碼範例(20141007)


1.新增專案後建立一個繼承 View 的 myView 類別,程式碼如下

public class myView extends View {

//建構子
public myView(Context context) {
super(context);
// TODO Auto-generated constructor stub

}

@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);

int h, w, r;

// 取得螢幕資訊
h = getHeight();// 取得螢幕高度資訊
w = getWidth();// 取得螢幕寬度資訊

// 設定畫筆
Paint p = new Paint(); // 建立Paint物件
p.setColor(Color.RED);// 設定畫筆顏色(紅色)
p.setStyle(Style.FILL);// 設定畫筆繪圖樣式(填滿)

// 畫圓
r = w / 2;// 設定半徑
canvas.drawCircle(w / 2, h / 2, r, p);// 畫圓

}

}

2.在程式入口的主程式onCreate方法內 new 一個 myView 類別,並將該類別指定給setContentView方法,程式碼如下:
public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//使用匿名方式創建myView並引入setContentView的方法內
setContentView(new  myView(this));
}
}