我试图将FloatingActionButton纹波设置为与this
类似的东西来自材料设计。
问题是我只得到一个没有波纹的“平面样式”,它只是将按钮从我的情况下改变为白色到橙色而没有上面链接中显示的动画。
我在这里听到了答案:
FloatingActionButton example with Support Library
但是我的FAB仍然很无聊!
编辑: 我目前的代码是: XML:
<android.support.design.widget.FloatingActionButton
android:id="@+id/item_activity_fab"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginRight="16dp"
android:src="@drawable/watch"
app:borderWidth="0dp"
app:elevation="6dp"
app:fabSize="normal"
app:layout_anchor="@id/item_activity_title_background"
app:layout_anchorGravity="top|right|end"
app:pressedTranslationZ="12dp"
app:rippleColor="@android:color/transparent"/>
爪哇:
mAddToWatchListFAB.setRippleColor(ContextCompat.getColor(this, R.color.orange_6));
我在FAB上尝试了这种方法,但它似乎没有用。我也尝试了我提供的链接中的步骤
答案 0 :(得分:29)
将以下2个属性添加到浮动操作按钮xml代码
app:rippleColor="@color/textcolor"
android:clickable="true"
使FAB可点击添加纹波颜色
答案 1 :(得分:4)
您可以像我Gabriele Mariotti
那样实现它您可以这样做:
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/ripple" />
ripple.xml是:
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="?android:colorControlHighlight"> <item android:id="@android:id/mask"> <shape android:shape="oval"> <solid android:color="?android:colorAccent" /> </shape> </item> </ripple>
如here所述,可以应用所有的涟漪需求。
<强>更新强>
<android.support.design.widget.FloatingActionButton
android:id="@+id/item_activity_fab"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginRight="16dp"
android:src="@drawable/watch"
android:background="@drawable/ripple"
app:borderWidth="0dp"
app:elevation="6dp"
app:fabSize="normal"
app:layout_anchor="@id/item_activity_title_background"
app:layout_anchorGravity="top|right|end"
app:pressedTranslationZ="12dp"/>
并使用上面的ripple.xml。很简单!你需要做的只是掩饰:)
更新2
对于API 20及更低版本,可以选择实现连锁效果。查看Marcin Orlowski
所述的以下提示幸运的是,现有的自定义实现很少:
包括与旧版Android兼容的Materlial主题小部件集:
所以你可以试试其中一个或谷歌搜索其他&#34;材料小部件&#34;左右......
答案 2 :(得分:1)
请尝试使用:
,而不是使用透明app:rippleColor="@color/colorAccentLight"
其中colorAccentLight是您当前强调色的明亮色调。就我而言,我用过:
<color name="colorAccent">#E040FB</color>
<color name="colorAccentLight">#E1BEE7</color>
colors.xml 文件中的...或者,您可以随时将其设置为其他随机颜色(当前强调颜色除外)以进行测试。
答案 3 :(得分:0)
您的波纹颜色是透明的。我希望你的涟漪正常显示但是因为它是看不见的,你看不到它。
请参阅此答案以获得解决方案。
Android: can you have a ripple effect whose default state color is transparent?
答案 4 :(得分:0)
ayush@devbox:/code/compsize$ sudo compsize /opt
Processed 54036 files, 42027 regular extents (42028 refs), 27150 inline.
Type Perc Disk Usage Uncompressed Referenced
Data 82% 5.3G 6.4G 6.4G
none 100% 4.3G 4.3G 4.3G
zlib 37% 427M 1.1G 1.1G
lzo 56% 588M 1.0G 1.0G