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

标签 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 按钮上设置一个漂亮而简单的焦点效果?

谢谢,

文森特

最佳答案

我的建议,

  1. 去掉 android:background 属性。
  2. 将 fab_gold.xml 从 res/drawable/移至 res/color/。
  3. 将 backgroundTint 更改为 app:backgroundTint="@color/focus_gold"

确保将 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>

关于android - 如何从 android.support.design 中设置 FloatingActionButton 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33204044/

相关文章:

java - 仅当用户不滚动 RecyclerView 时才绑定(bind) ViewHolders

如果实现 RTL,android Material Edittext 错误出现在左侧

android - 在 BottomSheet fragment 中选择项目时刷新 Activity

android - 用android.support.design.circularreveal.cardview.CircularRevealCardView显示效果

android - 禁用用户在 BottomSheet 上拖动

java - 接口(interface) ColorSpace 无法定义初始值设定项

java - Android模拟按键

android - java.lang.NoClassDefFoundError : android. 支持.v7.app.AppCompatDelegateImplV14

java - removeAll() 没有删除对象

android - 使用 Material Button 会产生 ClassNotFound 运行时错误