A floating action button is used for a promoted action.Shaped like a circled icon floating above the UI, it has an ink wash upon focus and lifts upon selection. When pressed, it may contain more related actions.
使用
1. gradle添加依赖
compile 'com.android.support:design:22.2.0'
2. layout添加FloatingActionButton
3. 添加事件
FloatingActionButton btnFab = (FloatingActionButton) findViewById(R.id.btnFloatingAction); btnFab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Snackbar.make(coordinatorLayout, "FloatActionTest", Snackbar.LENGTH_LONG).show(); } });
更多
转自
开发者手册只描述了 fabSize 这个属性,已经有人提了,里面有其他属性的详细解释。以下是那些属性:
- 默认 Floating action button 的背景色是应用主题的 ascent color,但可以通过app:backgroundTint 属性或者setBackgroundTintList (ColorStateList tint)方法去改变背景颜色。
- 上面提到 Floating action button 的大小尺寸,可以用过app:fabSize 属性设置(normal or mini)
- android:src 属性改变 drawable
- app:rippleColor设置点击 button 时候的颜色
- app:borderWidth设置 button 的边框宽度
- app:elevation设置普通状态阴影的深度(默认是 6dp)
- app:pressedTranslationZ设置点击状态的阴影深度(默认是 12dp)
Margin issue in Android 4.4 and 5.0
在 Lollipop 使用 FAB 的时候 margin 出现问题,我们可以这样来解决这个问题,在 API 21+ 定义 bottom 和 right margin 为 16dp,21 之前的都定义为 0dp
values/dimens.xml
0dp 0dp
values-v21/dimens.xml
16dp 16dp
在设置 FAB 属性的时候:
Android 5.0 中还存在阴影问题
可以通过设置边框宽度给它来解决这个问题