参考:http://blog.csdn.net/lmj623565791/article/details/46678867
添加依赖: compile 'com.android.support:design:22.2.0'
布局:
<android.support.design.widget.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" android:src="@drawable/ic_discuss" />
- 填充色以及按下的颜色如何自定义呢?
按下的颜色是 rippleColor ,默认取的是主题中的 colorControlHighlight
填充色是 backgroundTint ,默认取的是主题中的 colorAccent (这个属性好像要API21才能用)
注:colorAccent 对应EditText编辑时、RadioButton选中、CheckBox等选中时的颜色。
也可以直接用属性定义这两个的颜色:
app:backgroundTint="#ff87ffeb"
app:rippleColor="#33728dff"
- 立体感有没有什么属性可以动态指定?
和立体感相关有两个属性,elevation和pressedTranslationZ,前者用户设置正常显示的阴影大小;后者是点击时显示的阴影大小。
<android.support.design.widget.FloatingActionButton xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" android:src="@drawable/ic_discuss" app:backgroundTint="#ff87ffeb" app:rippleColor="#33728dff" app:elevation="6dp" app:pressedTranslationZ="12dp" />
5.x存在的一些问题
在5.x的设备上运行,你会发现一些问题(测试系统5.0):
- 木有阴影
添加属性 app:borderWidth="0dp"
- 对于5.x设置一个合理的margin,整体如下:
<android.support.design.widget.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="end|bottom" app:borderWidth="0dp" android:layout_margin="@dimen/fab_margin" android:src="@drawable/ic_headset" />
values
<dimen name="fab_margin">0dp</dimen>
values-v21
<dimen name="fab_margin">16dp</dimen>
2015-06-29
17:35:25