2015-10-08 24 views
5

Đây là định nghĩa FAB tôi:Thư viện hỗ trợ Android FloatingActionButton - đệm trên các thiết bị trước kẹo que?

<android.support.design.widget.FloatingActionButton 
     android:id="@+id/button_capture_action_show_options" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="bottom|right" 
     android:layout_margin="16dp" 
     android:focusable="true" 
     android:src="@drawable/c" 

Dường như có một số padding thêm khi render trên các thiết bị pre-kẹo và tôi dường như không thể để có thể loại bỏ nó.

Lollipop rendering:

lollipop

Pre-kẹo rendering:

pre-lollipop

Bất kỳ lời đề nghị nhiều đánh giá cao ..

+0

Bạn có tìm thấy câu trả lời không? Hãy chia sẻ nó ở đây để nó sẽ hữu ích cho chúng tôi những người đang phải đối mặt với cùng một vấn đề. –

+0

Không có câu trả lời nào được nêu ra - chưa sử dụng nó ngay bây giờ .. Tôi nghĩ rằng tôi sẽ chỉ phải điều chỉnh bằng tay padding cho các thiết bị trước kẹo ... mà hút .. – vkislicins

Trả lời

0

Vì vậy, tôi vẫn không biết nếu có một cách chính thức để thực hiện việc này, nhưng tôi đã làm như sau:

 if (!isLollipopAndAbove()) { 
      RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) tab.getLayoutParams(); 
      params.setMargins(0, 0, 0, 0); 
      tab.setLayoutParams(params); 
     } 

oh và vâng đó là lợi nhuận không đệm mà phải được thay đổi

3

Đây là vì cách đệm được thực hiện trong các FAB trên các thiết bị pre-Lollipop.

Không có cách nào tôi biết để gỡ bỏ nó vào trước Lollipop, nhưng bạn có thể làm cho nó phù hợp (ví dụ: tăng padding trên Lollipop trở lên) bằng cách thiết lập app:useCompatPadding="true" trên FAB trong định nghĩa bố trí, hoặc bằng cách sử dụng setUseCompatPadding.

Nó hoạt động theo cách này vì cách đổ bóng.

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