Tùy thuộc vào việc bạn muốn một nút có văn bản, biểu tượng hay cả hai, bạn có thể tạo nút trong bố cục của mình theo ba cách:
Với văn bản, sử dụng lớp Button :
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
... />
Với một biểu tượng, sử dụng lớp ImageButton :
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/button_icon"
android:contentDescription="@string/button_icon_desc"
... />
Với văn bản và biểu tượng, sử dụng lớp Button có thuộc tính android:drawableLeft
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_text"
android:drawableLeft="@drawable/button_icon"
... />
Phản hồi sự kiện nhấp chuột
Khi người dùng nhấp vào nút, đối tượng Button sẽ nhận được sự kiện khi nhấp.
Để xác định trình xử lý sự kiện nhấp chuột cho nút, hãy thêm thuộc tính android:onClick vào phần tử <Button> trong bố cục XML . Giá trị cho thuộc tính này phải là tên của phương thức bạn muốn gọi để phản hồi lại sự kiện nhấp chuột. Việc Activity lưu trữ bố cục sau đó phải triển khai phương thức tương ứng.
Ví dụ: đây là một bố cục với một nút sử dụng android:onClick:
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/button_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
Phương thức sau xử lý sự kiện nhấp chuột:
/** Called when the user touches the button */
public void sendMessage(View view) {
// Do something in response to button click
}
Sử dụng OnClickListener
Để khai báo trình xử lý sự kiện theo chương trình, hãy tạo một View.OnClickListenerđối tượng và gán nó vào nút bằng cách gọi setOnClickListener(View.OnClickListener). Ví dụ:
Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something in response to button click
}
});