Android支持库FloatingActionButton - 在棒棒糖前设备上填充?

时间:2015-10-08 12:47:32

标签: android android-support-design

这是我的FAB定义:

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/button_capture_action_show_options"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom|right"
        android:layout_margin="16dp"
        android:focusable="true"
        android:src="@drawable/c"

在棒棒糖前设备上渲染时似乎有一些额外的填充,我似乎无法将其删除。

棒棒糖渲染:

lollipop

棒棒糖前渲染:

pre-lollipop

任何建议都非常感谢..

2 个答案:

答案 0 :(得分:4)

这是因为前Lollipop设备在FAB中实现填充的方式。

我不知道在Lollipop之前删除它,但是你可以通过在布局定义中的FAB上设置app:useCompatPadding="true"来使其保持一致(即增加Lollipop和up上的填充),或者通过使用setUseCompatPadding

由于绘制阴影的方式,它的行为方式如此。

答案 1 :(得分:0)

所以我仍然不知道是否有一位官员&#39;这样做的方法,但我最终做了以下事情:

        if (!isLollipopAndAbove()) {
            RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) tab.getLayoutParams();
            params.setMargins(0, 0, 0, 0);
            tab.setLayoutParams(params);
        }

哦,是的,这是边缘而不是必须改变的填充