2012-03-02 24 views
20

Tôi có một ImageButton và tôi muốn loại bỏ nền xấu xí (IMHO) bao quanh Hình ảnh. Tôi chỉ có thể thêm một ImageView, nhưng họ rất khó để có được thiết lập hoàn hảo trong một Layout giống như một hình ảnh màu xám. [trọng lực "Trung tâm" không làm cho nó đi đến giữa, chỉ cần trung tâm nó theo chiều dọc.)Bất kỳ cách nào để xóa nền màu xám khỏi ImageButtons?

Vì vậy, bất kỳ cách nào để loại bỏ điều đó?

enter image description here

+2

Bạn đã thêm hình ảnh vào nút hình ảnh như thế nào? android: src hoặc android: background –

+0

Tôi vừa kéo nó vào Graphic Editor và [this] (http://i.imgur.com/d2VTW.png) xuất hiện, cho phép tôi chọn ảnh của mình. Nhưng mỗi ImageButton có nền gradient màu xám xung quanh nó. – Cole

Trả lời

27

Chỉ cần sử dụng android:background="#0000" (# 0000 cùng với # 00000000) hoặc

ImageButton imageButton = new ImageButton(this); 
imageButton.setBackgroundDrawable(null); 
0

nếu bạn đặt

android:background 

thay vì

android:src 

nó nên ghi đè lên nền màu xám

18

Các nền mặc định là không minh bạch.

Vì vậy, chỉ cần thêm màu trong suốt "# 00000000" làm nền cho bạn, sau đó bạn có thể giải quyết nó.

p.s. # 00000000 là màu trong suốt

<ImageButton 
android:id="@+id/imageButton1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/icon" 
android:background="#00000000" 
/> 
+0

Google/Android Nên thực sự cho bạn biết Nền mặc định không phải là Minh bạch, tiết kiệm một giờ tìm kiếm trên google và stackoverflow –

0

Vâng. Nếu bạn kéo ImageButton mà thường sẽ yêu cầu ImageSource. Nhưng ImageSource (android: src) không xóa nền màu xám. Đó là hình ảnh phải ở trên cùng của nền:

Thay vì thử android: background trong XML bố cục.

0

xin vui lòng sử dụng định dạng Vẽ 9 miếng vá cho hình ảnh b'use nó được cung cấp bởi SDK

1. From a terminal, launch the draw9patch application from your SDK /tools directory. 
2. Drag your PNG image into the Draw 9-patch window (or File > Open 9-patch... to locate the file). Your workspace will now open. 

Ngăn bên trái là khu vực vẽ của bạn, trong đó bạn có thể chỉnh sửa các đường cho các vùng có thể kéo giãn và vùng nội dung. Khung bên phải là khu vực xem trước, nơi bạn có thể xem trước hình ảnh của mình khi được kéo dài.

3. Click within the 1-pixel perimeter to draw the lines that define the stretchable patches and (optional) content area. Right-click (or hold Shift and click, on Mac) to erase previously drawn lines. 

4. When done, select File > Save 9-patch... 

Hình ảnh của bạn sẽ được lưu với tên tệp .9.png.

3

chỉ cần sử dụng android:background="@null" trong xml của bạn

+0

Chúc mừng thực sự đã giúp! –

0

Bạn có thể sử dụng

android:background="@drawable/icon"

thay vì

android:src="@drawable/icon"

này sẽ không đưa ra bất cứ nền Grey để ImageButton.

0

Sử dụng như thế này

android:background="@android:color/transparent" 

android:src="@drawable/icon" 
0

Tôi đang gặp vấn đề tương tự, nhưng bây giờ nó đã được giải quyết. Nếu bạn đang sử dụng "android: background =" @ null " thì kết quả sẽ không có hậu cảnh nào cả và không có hoạt ảnh được nhấn nút nào sẽ xuất hiện cho người dùng.

Chỉ cần thêm dòng mã này để tạo nút hình ảnh . trở nên nhấp nháy khi nhấp Đây là cách thích hợp để cảnh báo cho người dùng một nút image has been nhấp

 **"android:background="?android:selectableItemBackground"** 
2

Bạn có thể giữ hộp vuông và chỉ cần thay đổi màu sắc của nó như thế này:.

android:backgroundTint="@color/colorPrimary" 

công trình đẹp

Các vấn đề liên quan