android - 带有新支持库的 Lollipop 之前的设备上的 FAB

标签 android floating-action-button android-design-library

support library doc声明版本 22.2 支持 Pre-Lollipop 设备上的 FloatingActionButton。

我已经实现了一个演示应用程序来展示 KitKat 上的 FAB。 FAB 已显示,但我仍然无法在 xml 和代码中设置标高。 在 xml 中,我收到警告,我需要使用 tools:ignore="NewApi"。如果我以编程方式调用 setElevation ,则会收到异常,因为该方法不存在。

我已将其添加到我的布局中

<android.support.design.widget.FloatingActionButton
    android:id="@+id/add_button"
    style="@style/FAB"
    android:src="@drawable/ic_add_white_24dp"
    android:contentDescription="@string/add_ringtone" />

其中样式定义如下:

<resources
    xmlns:tools="http://schemas.android.com/tools">
    <style name="FAB" tools:ignore="NewApi">
       <item name="android:layout_width">@dimen/fab_width</item>
       <item name="android:layout_height">@dimen/fab_height</item>
       <item name="android:background">@drawable/fab_background</item>
       <item name="android:layout_alignParentBottom">true</item>
       <item name="android:layout_alignParentRight">true</item>
       <item name="android:layout_marginBottom">@dimen/fab_margin</item>
       <item name="android:layout_marginRight">@dimen/fab_margin</item>
       <item name="android:elevation" >@dimen/fab_elevation</item>
       <item name="android:stateListAnimator">@anim/rise</item>

    </style>

</resources>

我应该如何使用新的支持库在 KitKat 上设置标高?

最佳答案

由于新的 FAB 现在是支持库的一部分,您可能需要替换

<item name="android:elevation">@dimen/fab_elevation</item>

<item name="app:elevation">@dimen/fab_elevation</item>

按照您的风格。

关于android - 带有新支持库的 Lollipop 之前的设备上的 FAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30560018/

相关文章:

android - 无法使用 ViewPropertyAnimator 为 RecyclerView 中的 View 设置动画?

android - PubNub 订阅回调错误

android - 无法在 onDraw 内部调用 removeOnDrawListener

java - 自定义底部导航栏项目布局

android - 未固定折叠工具栏布局中的工具栏

android - Material 颜色主题属性的完整列表

android - 带有支持库的 FloatingActionButton 示例

android - 带有 float 操作菜单的折叠工具栏

android - 带有 FloatingActionButton 的 RecyclerView

android - TextInputLayout 密码圆角切换