1. Color
·
Màu sắc trong android được đại diện bởi 4 con số
cho alpha, red, green, blue (ARGB). Mỗi thành phần có 256 giá trị ó
8 bits vì thế nó được đóng gói trong 32-bit Integer.
·
Alpha thể hiện cho độ trong suốt. Giá trị thấp
nhất là 0 ó
trong suốt. Giá trị lớn nhất là 255 óđục.
·
Bạn có thể tạo ra color bằng cách sử dụng các hằng
số tĩnh trong lớp Color
int color = Color.BLUE;
·
Nếu bạn biết ARGB và biết con số đại diện cho
blue bạn có thể dùng một hàm tĩnh của lớp Color
color = Color.argb(127, 255,
0, 255);
·
Một cách khác là định nghĩa một color trong XML
resource file:
<?xml
version="1.0" encoding="utf-8"?>
<resources>
<color
name="mycolor">#7fff00ff</color>
</resources>
Bạn có thể tham chiếu color mà bạn
đã định nghĩa bằng cách sử dụng java code
color =
getResources().getColor(R.color.mycolor);
·
Hàm getResources() trả về một lớp
ResourceManager của Activity hiện tại, và hàm getColor cho manager biết phải
tìm color theo id nhận được
2. Paint
·
Chứa style, color, và các thông tin khác cần thiết
để vẽ đồ họa (bitmap, text, geometric shape).
·
Cài đặt color với phương thức Paint.setColor()
ví dụ:
cPaint.setColor(Color.LTGRAY);
3. Canvas
·
Đại diện cho mặt ngoài mà bạn sẽ vẽ trên nó.
·
Ban đầu canvas trống rỗng, các phương thức của lớp
Canvas cho phép bạn vẽ các đường thẳng, hình chữ nhật, hình tròn, và các dạng
hình học khác trên nó.
·
Trong Android, màn hình hiển thị là một Activity,
nó làm chủ một View, View này làm chủ một Canvas. Bạn có thể vẽ trên canvas này
bằng cách ghi đè phương thức View.onDraw(). Tham số duy nhất của phương thức
này là một canvas mà bạn vẽ trên.Đây là một ví dụ:
public class Graphics extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GraphicsView(this));
}
static public class GraphicsView extends View {
public GraphicsView(Context context) {
super(context);
}
@Override
protected void onDraw(Canvas canvas) {
// Drawing commands go here
}
}
4. Path
·
Lớp Path dữ một tập hợp vector-drawing cammand
như các đường thẳng, hình chữ nhật, đường cong. Dươi đây là một ví dụ định
nghĩa một đường tròn:
circle = new Path();
circle.addCircle(150, 150,
100, Direction.CW);
Nó sẽ tạo ra một đường tròn tại tọa
độ x = 150, y = 150 với bán kính là 100 px. Tiếp theo chúng ta sẽ sử dụng path
này để vẽ một đường tròn bên ngoài và thêm một số chữ xung quan bên trong
private static final String QUOTE = "Now is the time for all "
+
"good men to come to the aid of their country." ;
canvas.drawPath(circle, cPaint);
canvas.drawTextOnPath(QUOTE, circle, 0, 20, tPaint);
5. Drawable
·
Lớp Drawable được sử dụng cho một phần tử nhìn
thấy giống như bitmap hoặc solid color được dùng chỉ để hiển thị.
·
Bạn có thể kết hợp drawable với các graphic
khác, hoặc có thể sử dụng chúng trên user interface widgets (background,
button, view…)
·
Dawable nhận một sự đa dạng của các form:
o
Bitmap: PNG, JPEG image
o
NinePatch: một PNG có thể kéo dài. Nó được chia
ra làm 9 phần. Được sử dụng làm background của resizable bitmap button.
o
Shape: Vector-drawing cammand, dựa trên lớp
Path.
o
Layers: Một container cho các child drawable mà
vẽ trên cũng của child khác theo z-order.
o
States: Một container mà show một trong các
drawables của nó dựa trên trạng thái của nó (một bit mask). Một cách sử dụng
khác là để thiết lập các tùy chọn khác nhau và focus các trạng thái cho các
button.
o
Levels: Một container chỉ show duy nhất một
trong các child drawable của nó dựa trên level của nó (Một phạm vi của số
nguyên). Có thể sử dụng cho pin và tín hiệu kế.
o
Scale: Một container cho một child drawable mà
có thế hiệu chỉnh kích thước của nó dựa trên level hiện hành. Sử dụng cho
zoomable picture viewer.