Tôi có một ImageButton và một TextView bọc trong một LinearLayout như thế này:chụp LinearLayout onClick sự kiện với ImageButton bên trong nó
<LinearLayout android:orientation="vertical"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_weight="20" android:gravity="center"
android:clickable="true" android:id="@+id/action_showhide">
<ImageButton android:id="@+id/test"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/ic_toggle_hide_states" android:background="@null"></ImageButton>
<TextView android:id="@+id/TextView01" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/txtHide"
android:textColor="@drawable/orange" android:textStyle="bold"></TextView>
</LinearLayout>
Các ImageButton được hỗ trợ bởi một drawable tùy chỉnh cho bình thường, tập trung và ép các tiểu bang. Tôi muốn cho phép người dùng nhấp vào bất kỳ nơi nào trong LinearLayout để kích hoạt sự kiện OnClick. Đoạn code dưới đây cho thấy các thiết lập cho OnClickListener:
final LinearLayout actionHide = (LinearLayout) findViewById(R.id.action_showhide);
actionHide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(AppAdvocate.TAG, "Event caught");
}
});
Mã này hoạt động khi người dùng nhấp bất cứ nơi nào trên TextView nhưng khi người dùng nhấp vào ImageButton sự kiện không bong bóng lên đến LinearLayout. Tôi không định nghĩa onClickListener cho nút. Tôi muốn drawable cho ImageButton của tôi để thay đổi vì vậy tôi không muốn đặt nó để clickable = false. Có cách nào để bong bóng sự kiện này không?
Cảm ơn Mayra, tác phẩm này hoạt động. Làm thế nào tôi nên cascade các LinearLayout onClick sự kiện xuống ImageButton để thay đổi drawable của nó nhà nước khi LinearLayout được nhấn? – Richard
Tôi không chắc bạn đang nói đến trạng thái nào. Nút hình ảnh có hoạt động giống như nút Chuyển đổi, nút này hiển thị trạng thái được nhấp không? Bạn sẽ có thể chỉ cần gọi setChecked (checkedState) trên nút bật tắt của bạn. –