2015-07-03 27 views
5

Khi tôi đặt một màu sắc để fab của tôi, nó trông giống như vậy:Floating Action Nút Là một hình vuông

enter image description here

layout xml của tôi:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
tools:context=".MainActivity$PlaceholderFragment"> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_add" 
    android:layout_marginRight="20dp" 
    app:fabSize="normal" 
    android:elevation="@dimen/fab_elevation" 
    android:background="#000000" 
    android:stateListAnimator="@animator/fab_anim" 
    android:layout_gravity="center_horizontal" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentEnd="true" /> 

Ngoài ra màu sắc không thay đổi. Có ai giúp tôi hiểu được tôi đang làm gì sai không?

Tôi cũng đã thử với liên kết @color nhưng nó bị lỗi, với nền không thể vẽ được (ex. android:background="@drawable/fab_background").

Đây là drawable fab_background.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item> 
    <ripple android:color="@color/fab_color_1_muted"> 
     <item> 
      <shape> 
       <solid android:color="@color/fab_color_1" /> 
      </shape> 
     </item> 
    </ripple> 
</item> 

+0

Thêm 'app: borderWidth =" 0dp "' vào bố cục. – Ziem

+0

bản sao có thể có của [FAB - hình vuông trên Lollipop trước và không có bóng trên Lollipop] (http://stackoverflow.com/questions/30538604/fab-square-on-pre-lollipop-and-without-shadow-on-lollipop) – Ziem

+0

là nó được giải quyết? hoặc hành vi bạn đang mong đợi là gì? – srinivasan

Trả lời

4

Sử dụng

app:backgroundTint="@android:color/holo_green_dark" 

(ví dụ) để thiết lập màu sắc của fab. Kết quả dưới đây. Taken from this -tested- code snippet.

enter image description here

Cũng chỉnh sửa: "lạ màu xanh" phải xuất phát từ màu giọng của bạn. Đó là màu fab mất theo mặc định.

+0

Sử dụng mã được liên kết làm việc cho tôi. Cảm ơn! Màu xanh lá cây đó là siêu mát mẻ. – SMKS

5

Sử dụng mã này trong xml của bạn

ứng dụng: borderWidth = "0dp"

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/ic_add" 
    android:layout_marginRight="20dp" 
    app:fabSize="normal" 
    android:elevation="@dimen/fab_elevation" 
    android:background="#000000" 
    app:borderWidth="0dp" 
    android:stateListAnimator="@animator/fab_anim" 
    android:layout_gravity="center_horizontal" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentEnd="true" /> 
+1

Điều này đã được sửa trong v22.2.1, không cần phải thực hiện nữa. –

0

chỉ cần thêm app:borderWidth="0dp"

0

chỉ đơn giản là thiết lập ứng dụng: borderWidth = "0dp" giải quyết vấn đề.

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