16

Tôi đang gặp sự cố khi thay đổi màu nền trong xml cho FAB, rằng màu chưa được gán cho các thiết bị có phiên bản Gingerbread. Tôi thực sự bối rối và không biết tại sao nó hành xử kỳ lạ. Tôi hoàn toàn bị mắc kẹt với vấn đề này với một vài giờ kích hoạt ra các giải pháp nhưng tôi không thể. Vui lòng giúp tôi với các mẹo và đề xuất của bạn để giải quyết vấn đề của tôi. Tôi đang đăng mã của tôi và ảnh chụp màn hình của vấn đề để bạn tham khảo. Cảm ơn trước.FAB Color for backgroundTint không thay đổi trong các thiết bị phiên bản Gingerbread

include_fab.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|right" 
    android:layout_marginBottom="20dp" 
    android:layout_marginRight="20dp" 
    app:backgroundTint="#FF0000" 
    app:borderWidth="0dp" 
    app:elevation="5dp" 
    app:fabSize="normal"/> 

Thiết kế hỗ trợ thư viện trong gradle tôi

compile 'com.android.support:design:23.0.0' 

Ảnh chụp màn hình của phiên bảnGingerbreadKitKat

Lưu ý: Tôi nhận được kết quả chính xác về yêu cầu của mình trên các thiết bị GingerBread. Vấn đề phát sinh với GingerBread một mình.

enter image description here

+0

Tôi gặp sự cố tương tự, nó cũng gây ra sự cố. Bạn đang sử dụng Genymotion? – DariusL

+0

Sử dụng cả hai nhưng tôi đã không thử điều này trong genymotion. – Chandru

+0

Tôi không có phiên bản Gingerbread genymotion, nhưng nó đang làm việc tốt với phiên bản mới nhất trong genymotion – Chandru

Trả lời

2

Nó có thể làm việc

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     FloatingActionButton v = (FloatingActionButton) findViewById(R.id.fab); 
     ColorStateList csl = new ColorStateList(new int[][]{new int[0]}, new int[]{0xffff0000}); 
     v.setSupportBackgroundTintList(csl); 
    } 
+0

Cảm ơn. sẽ kiểm tra và cho bạn biết – Chandru

+1

@Chandru làm việc đó cho bạn, nếu có, vui lòng chấp nhận câu trả lời để người khác nhận được câu trả lời chính xác, hỏi xem bạn có truy vấn nào không. :) – RBK

1

Đây thực sự là một lỗi trong thư viện. Có một báo cáo lỗi mở mà bạn có thể xem here.

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