Làm cách nào để xóa ảnh nền chuẩn của ImageButton?


81

Trong ImageButtontôi muốn loại bỏ hình nền nút tiêu chuẩn. Trong http://developer.android.com có nói rằng người ta phải xác định hình nền của riêng mình hoặc đặt màu nền là trong suốt. Tôi đã cố gắng thiết lập nền đen, nhưng nó không tạo ra bất kỳ hiệu ứng nào ...

Câu trả lời:



29

Lựa chọn tốt nhất là không đặt nền trong suốt cho của bạn ImageButton.

Cung cấp cho người dùng của bạn phản hồi khi nút được nhấn.

android:background="?attr/selectableItemBackgroundBorderless"

1
Giải pháp tuyệt vời. câu trả lời này nên được đánh dấu là đúng.
Vasudev Vyas

23

ImageButton.setBackgroundResource(0)


Thông minh! Đây là giải pháp để làm theo chương trình giải pháp của Mudassir. Cảm ơn bạn!
SMBiggs

3
Đó là setBackgroundResource, không phải setBackgroundResources. Sử dụng nó như sau: ((ImageButton) findViewById (R.id.my_button)). SetBackgroundResource (0);
Quentin S.


4

sử dụng thuộc tính sau trong xml của ImageButton:

android:background="@drawable/icon"

trong đó biểu tượng là tên của hình ảnh được lưu trong thể vẽ của bạn.


Đây là một giải pháp rõ ràng hơn so với việc thiết lập srcvà xóa nền.
Christopher Pickslay

1

Không sử dụng button.setBackgroundResource(0); trên một số thiết bị, bạn sẽ nhận được:

android.content.res.Resources $ NotFoundException: Resource ID # 0x0

Sử dụng tốt hơn button.setBackgroundColor(Color.TRANSPARENT);





0

Sử dụng Kotlin, bạn có thể làm điều này:

val myImageButton = ImageButton(context).apply({
    background = null

    // and if you need to add drawable, simply use:

    setImageDrawable(ContextCompat.getDrawable(context, 
                         R.drawable.ic_save_black_24px))
})
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.