我在试着测试android.support.design.widget.FloatingActionButton的FAB
当我从xml布局中设置提升时,阴影就会显示提升。
当我试图以编程方式更改高程时:
fab.setElevation(9);我收到一个错误,说我的API应该从14提高到21。
我做错了什么?
发布于 2015-07-08 09:54:48
这用于ImageButon,而不是FAbButton,但它模拟Fab:您可以做的是在可绘图文件夹中创建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+,它将接受悬浮,如果不是,它将采取fab_btn.xml。应该由您来更新此文件,使其具有所需的阴影。
发布于 2018-04-23 12:40:33
对于fab高程的使用:
fab.setCompatElevation(8f); //API>=21这种方法:
fab.setElevation(8f); // Works only for API >=21 for other layouts标高只适用于API>=21
https://stackoverflow.com/questions/31288982
复制相似问题