jump to navigation

Lập trình Android – Đồ họa 2D trên Android 26/03/2011

Posted by hnb1988 in Android Development.
Tags: , , , , ,
trackback

Chào các bạn, hôm nay chúng ta tìm hiểu sơ lược một tí về thư viện đồ họa 2D của Android và cách tạo các đồ họa đó trên Android như thế nào.

Đồ họa 2D Android
Đồ họa 2D Android

Sau phần này chúng ta thử cài đặt giao diện cho game Sudoku chúng ta đang làm dở.

Tài liệu tham khảo: Hello Android Trang 73.

Android cung cấp cho chúng ta một thư viện đồ họa đầy đủ, đó là gói android.graphics. Bên trong nó chưa các lớp đồ họa như Color, Canvas…

Color: Color được thể hiện bởi 4 giá trị, đầu tiên là alpha, red, green, and blue (ARGB). Mỗi thể hiện gồm 256 giá trị (8 bít) do đó một màu có giá trị cao nhất lên tới 32 bít integer. Với android thuận tiên hơn khi cho phép chúng ta thể hiện giá trị màu bằng một số nguyên thay vì thể hiện theo cách của lớp Color hay dùng.

Để khởi tạo một giá trị màu bạn có thể khai báo:

int color = Color.BLUE;

Nếu bạn có biết về độ alpha, thì bạn có thể khai báo:

// Translucent purple
color = Color.argb(127, 255, 0, 255);

Nhưng trong Android, người ta thường định nghĩa trong file XML, chẳng hạn color.xml. Để sau này thuận tiện hơn cho việc sửa chửa…

?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<color name=”mycolor”>#7fff00ff</color>
</resources>

Khi đó bạn sử dụng màu trong code của mình bằng cách:

color = getResources().getColor(R.color.mycolor);

Paint: Paint một lớp quan trọng trong Android, một ứng dụng android chẳng khi nào thiếu lớp này. Nó bao gồm các kiểu style, color, và những thông tin cần thiết để vẽ bất cứ dạng đồ họa nào như bitmap, text,…

Ví dụ bạn paint cái gì lên screen, bạn muốn vẽ nó với solid color. Bạn set nó như sau:

cPaint.setColor(Color.LTGRAY);

Canvas: là một lớp quan trọng trong quá trình xây dựng ứng dụng, đặt biệt trong Game. Nếu như lớp Paint cung cấp cho bạn nhưng dụng cụ color, đường nét, độ to nhỏ của nét để vể thì Canvas cung cấp cho bạn các phương thức để vẽ nên những gì bạn muốn, đường thẳng, đường tròn, hình chữ nhật,..

Để sử dụng Canvas để vẻ, bạn cần override lại phương thức View.onDraw( )

Ví dụ sau:

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
}
}

Lúc này bạn có thể đưa những phương thức vẽ vào onDraw()

(……đang update tiếp + code ví dụ …………….)


Comments»

1. Út Kòi - 26/03/2013

Bạn ơi có phần surfaceview ko vậy? có bạn post lên mình tham khảo với nha. Thank bạn

hnb1988 - 13/08/2013

Sorry mình để sót tới commment này của bạn😦.
Code mình xem lại rồi trả lời bạn sau nhé


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: