2016-05-04 16 views
5

Tôi đang cố gắng đặt hiệu ứng độ cao và hiệu ứng gợn sóng cùng một lúc trên ImageButton. Tôi đang chạy LOLLIPOP.Sử dụng Độ cao và Ripple trong ImageButton

Đây là mã:

<android.support.v7.widget.AppCompatImageButton 
      xmlns:app="http://schemas.android.com/apk/res-auto" 
      android:id="@+id/button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:elevation="5dp" 
      android:background="?attr/selectableItemBackgroundBorderless" 
      app:srcCompat="@drawable/add" /> 

chủ đề của tôi là: Theme.AppCompat.Light.DarkActionBar

Với mã này tôi chỉ nhận được những gợn. Nếu tôi xóa nền (gợn), tôi sẽ nhận được độ cao.

EDITED:

Lưu ý: Tất cả các ảnh chụp màn hình đã được thực hiện với hình ảnh được nhấp (báo chí dài).

tôi đã thử nghiệm với android:background="?attr/selectableItemBackground" và tôi đã nhận một gợn và nền là một hình vuông, nhưng không có độ cao:

với android:background="?attr/selectableItemBackgroundBorderless" tôi đã nhận một gợn với nền hình tròn, nhưng không có độ cao :

mà không nền thuộc tính tôi đã nhận độ cao, và nền mặc định ImageButton:

gì tôi cần là một tròn nền gợn và độ cao đồng thời.

+0

Bạn đang sử dụng nền không viền. Một phần tử không viền sẽ không có bóng. Đó là lý do tại sao. – Budius

+0

bạn đang sử dụng chủ đề nào? – Lemao1981

+0

Tôi đã cập nhật câu hỏi với thông tin đó. – jzeferino

Trả lời

1

Giống như bóng, các gợn sóng không viền được chiếu lên bề mặt mẹ gần nhất - có nghĩa là chúng không thể đổ bóng. Cân nhắc sử dụng gợn có viền thay thế:

android:background="?attr/selectableItemBackground" 
+0

Cảm ơn câu trả lời của bạn, xin vui lòng, hãy xem câu hỏi đã chỉnh sửa. – jzeferino

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