Tôi có một ImageButton có hình nền có độ trong suốt. Theo mặc định, nút sẽ có nền màu xám, nơi các pixel trong suốt - do chủ đề Holo.Light. Tôi đã thử thiết lập màu nền của nút thành trong suốt thông qua phương thức setBackgroundColor(Color.TRANSPARENT)
. Điều đó hoạt động tốt và làm những gì tôi cần ngoại trừ bây giờ nút của tôi không còn có màu xanh nhạt khi tập trung/ép và trông khá phẳng (không có viền xung quanh nó, vì vậy nó trông giống như một hình ảnh).Android ImageButton background color
Tôi googled và thấy rằng bạn có thể chỉ định bộ chọn như được giải thích here nhưng điều đó có nghĩa là tôi phải chỉ định hình ảnh cho mỗi trạng thái nút và tôi không muốn làm điều đó. Tôi muốn thừa kế các màu lấy nét/được nhấn từ chủ đề nhưng ghi đè lên nền nút bình thường (khi không được nhấn/lấy nét) thành trong suốt thay vì màu xám. Làm thế nào tôi có thể đạt được điều đó ?? Vui lòng cung cấp ví dụ làm việc vì tôi đã thử nhiều kết hợp khác nhau mà không thành công.
Chỉnh sửa Cảm ơn tất cả vì đã trợ giúp. Tôi đã tìm ra cách để thực hiện công việc này mà không phải tạo lại cùng một hình ảnh với các trạng thái được nhấn mạnh và nhấn cho mỗi nút!
Đây là giải pháp của tôi:
nút My được định nghĩa là:
<ImageButton
android:id="@+id/ImageButton05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/button" />
Và XML nền của tôi tập tin (với tựa đề button.xml) được định nghĩa như sau:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<layer-list>
<item android:drawable="@drawable/btn_default_pressed_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
<item android:state_focused="true">
<layer-list>
<item android:drawable="@drawable/btn_default_focused_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
<item android:state_hovered="true">
<layer-list>
<item android:drawable="@drawable/btn_default_focused_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
<item>
<layer-list>
<item android:drawable="@drawable/btn_default_normal_holo_light"></item>
<item android:drawable="@drawable/network_wifi"></item>
</layer-list>
</item>
</selector>
hình ảnh không chứa bất kỳ màu xám nào .. chúng rõ ràng khi tôi giải thích – Ayyoudy
tiêu điểm, nhấn có hộp màu xanh đậm thay vì màu xám. xem chỉnh sửa của tôi. Bạn sẽ phải chỉnh sửa bên trong "hộp" trong các hình ảnh trên để lại phía sau chỉ là hiệu ứng ánh sáng phát sáng. Bạn có thể chỉnh sửa câu hỏi của bạn và đăng một trong những tuyên bố xml imagebutton của bạn. Có lẽ tôi hiểu lầm những gì bạn đang cố gắng làm, điều đó sẽ làm cho nó rõ ràng hơn với tôi. – FoamyGuy