Andrid Floating Action Button

 

官网

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

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/btnFloatingAction"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@android:drawable/btn_plus"
        android:layout_gravity="bottom|right" />

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();
            }
        });

更多

转自http://hackeris.me/2015/07/12/floating_action_button/

开发者手册只描述了 fabSize 这个属性,已经有人提了issue#178117,里面有其他属性的详细解释。以下是那些属性:

  • 默认 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

<dimen name="fab_margin_right">0dp</dimen>
<dimen name="fab_margin_bottom">0dp</dimen>

values-v21/dimens.xml

<dimen name="fab_margin_right">16dp</dimen>
<dimen name="fab_margin_bottom">16dp</dimen>

在设置 FAB 属性的时候:

<android.support.design.widget.FloatingActionButton
   ...
   ...
   android:layout_marginBottom="@dimen/fab_margin_bottom"
   android:layout_marginRight="@dimen/fab_margin_right"/>

Android 5.0 中还存在阴影问题

可以通过设置边框宽度给它来解决这个问题

<android.support.design.widget.FloatingActionButton
   ...
   ...  
   app:fabSize="normal"
   app:borderWidth="0dp"
   android:layout_marginBottom="@dimen/fab_margin_bottom"
   android:layout_marginRight="@dimen/fab_margin_right"/>

 

转载于:https://my.oschina.net/shanlilaideyu/blog/739030

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值