提升不适用于android.support.design.widget.FloatingActionButton

时间:2015-06-09 18:03:16

标签: android material-design floating-action-button

我刚开始进行android开发并尝试新材料设计。 Here是我的mainactivity的屏幕截图,它有一个FloatingActionButton,但它不应用任何高程(没有阴影)。

如何在这个新小部件上启用阴影(android.support.widget.FloatingActionButton)。

这是来自布局xml的代码

<android.support.design.widget.FloatingActionButton
        android:id="@+id/add_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:src="@drawable/ic_add_action"
        android:layout_margin="16dp"
        android:elevation="10dp"
        android:padding="10dp"/>

任何帮助表示赞赏。感谢

请注意我只想使用android设计库,而不是任何其他github库。

4 个答案:

答案 0 :(得分:17)

经过大量研究,我发现了使用FAB的正确方法,没有任何问题。使用以下代码作为模板:

<android.support.design.widget.FloatingActionButton
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/your_id"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="@dimen/floating_button_margin_bottom"
        android:layout_marginRight="@dimen/floating_button_margin_right"
        app:elevation="@dimen/floating_button_elevation"
        app:borderWidth="0dp"
        app:rippleColor="@color/your_ripple_color"
        app:backgroundTint="@color/your_bg_color" />

答案 1 :(得分:7)

我现在只是测试浮动操作按钮。对我来说它有效。

尝试为您的按钮添加app:borderWidth="0dp",这可能会解决问题。 我在其他一些帖子中看到它可能是设计库中的一个问题。

答案 2 :(得分:6)

您的XML布局可能会遗漏这些代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   app:xmlns="http://schemas.android.com/apk/res-auto"
   ... >
         <android.support.design.widget.FloatingActionButton
            ... 
            app:borderWidth="0dp"
            app:elevation="4dp" />
   ... 
</RelativeLayout>

修改

有关FloatingActionButton的详细信息,请参阅此post,其中说明了问题和设计指南。

答案 3 :(得分:0)

检查清单文件并删除以下属性:

 android:hardwareAccelerated="false"
 android:largeHeap="true"