如何从android.support.design设置FloatingActionButton的样式

时间:2015-10-18 22:40:08

标签: android material-design android-support-design

我正在尝试将一个焦点效果添加到android.support.design的FloatingActionButton中。

到目前为止,我已经测试过为按钮添加自定义背景:

 <android.support.design.widget.FloatingActionButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_done_24dp"
            android:background="@drawable/focus_gold"
            app:backgroundTint="#F7A200"
            app:pressedTranslationZ="12dp" />

可绘制的focus_gold为:

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_focused="true" android:drawable="#ff9800"/>
 </selector>

结果如下(红色背景正常):

没有重点:unfocused

专注:focused

有没有人有想法使用这个库在fab按钮上设置一个漂亮而简单的焦点效果?

谢谢,

文森特

2 个答案:

答案 0 :(得分:14)

我的建议,

  1. 摆脱android:background属性。
  2. 将fab_gold.xml从res / drawable /移到res / color /。
  3. 将backgroundTint更改为app:backgroundTint="@color/focus_gold"
  4. 确保将focus_gold.xml更改为此

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
      <item android:color="#ff9800" android:state_focused="true"/>
      <item android:color="#F7A200" />
    </selector>
    

答案 1 :(得分:2)

你可以尝试非官方的FloatingActionButton库!这是github链接:https://github.com/makovkastar/FloatingActionButton

希望它有所帮助!