FAB的高度不起作用

时间:2015-07-08 09:44:00

标签: android widget floating-action-button android-elevation

我正在尝试从android.support.design.widget.FloatingActionButton

测试FAB

当我从xml布局设置高程时,阴影显示高程。

当我尝试以编程方式更改高程时:

fab.setElevation(9);

我收到错误消息,说我的API应该从14提升到21。

我做错了什么?

2 个答案:

答案 0 :(得分:2)

对于工厂高程使用:

string

此方法:

varchar

提升仅适用于API> = 21

答案 1 :(得分:0)

这用于ImageButon,而不是FAbButton,但它模拟Fab: 你可以做的是在drawable文件夹中创建一个fab-btn.xml来模拟阴影:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="false">
    <layer-list>
        <item android:bottom="0dp" android:left="2dp" android:right="2dp" android:top="2dp">
            <shape android:shape="oval">
                <solid android:color="#44000000" />
            </shape>
        </item>
        <item android:bottom="2dp" android:left="2dp" android:right="2dp" android:top="2dp">
            <shape android:shape="oval">
                <solid android:color="@color/orange" />
            </shape>
        </item>
    </layer-list>
</item>
<item android:state_pressed="true">
    <shape android:bottom="2dp" android:left="2dp" android:right="2dp" android:shape="oval" android:top="2dp">
        <solid android:color="#E73700" />
    </shape>
    </item>

</selector>

在fab按钮的主要布局中:

 android:background="@drawable/fab_btn"
 android:elevation="5dp"

如果它是API 21+,它将采用levation,如果不是,它将采用fab_btn.xml。您可以更新此文件以获得所需的阴影