Android:如何更改app的大小:fabSize ="正常"的浮动操作按钮

mic*_*ael 25 android android-layout floating-action-button

使用新的时FloatingActionButton,大小由确定app:fabSize="normal".如何设置dp引用的大小"normal"

我试图创建values/attrs.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="app">
        <attr name="fabSize">
            <enum name="mini" value="50dp" />
            <enum name="normal" value="100dp" />
        </attr>
    </declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误

"normal" in attribute "fabSize" is not a valid integer
Run Code Online (Sandbox Code Playgroud)

小智 44

有两种不同尺寸FAB可供选择:normalmini

  1. Normal (56dp) - 在大多数情况下应使用此尺寸.

  2. Mini (40dp) - 仅在需要与屏幕上显示的其他组件进行视觉连续性时使用.

  • 有没有办法改变这个默认值?一般来说 - 如何更改app:属性? (3认同)

Jav*_*nça 40

您可以通过添加以下内容来覆盖正常和迷你尺寸values/dimens.xml:

<!-- Overriding sizes of the FAB -->
  <dimen name="design_fab_size_normal">90dp</dimen>
  <dimen name="design_fab_size_mini">30dp</dimen>
Run Code Online (Sandbox Code Playgroud)

如果您需要超过2个晶圆厂尺寸,那么棘手的是,在这种情况下,我猜您需要创建一个扩展晶圆厂的自定义视图.

  • 你还应该添加`tools:override ="true"`,因为这些属性被标记为私有. (3认同)

Kah*_*lam 16

我知道不推荐这样做,但对于那些绝对需要更改默认大小的人,我能够通过将其包装成FloatingActionButtona来实现LinearLayout.

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:layout_centerInParent="true"
    android:orientation="horizontal" >

    <android.support.design.widget.FloatingActionButton
        android:layout_width="@dimen/custom_fab_size"
        android:layout_height="@dimen/custom_fab_size"
        app:fabSize="normal"
        android:clickable="true"
        android:src="@drawable/ic_mic_white_24dp"
        android:scaleType="center"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)


小智 15

只是用户应用程序:xml中的fabCustomSize

app:fabCustomSize="100dp"
Run Code Online (Sandbox Code Playgroud)

答对了.


ami*_*phy 5

Standard Sizes

您可以使用设置标准FAB尺寸的三个选项(根据developer.androidapp:fabSize

  1. normal:标准尺寸的按钮。
  2. mini:迷你按钮。
  3. 自动:大小将根据窗口大小而改变

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_add_black_24dp"
    app:tint="#404D54"
    app:backgroundTint="#ffd500"
    app:fabSize="normal" />
Run Code Online (Sandbox Code Playgroud)

Custom Sizes

要设置自定义FAB尺寸,您可以设置app:fabCustomSize。注意android:layout_widthandroid:layout_height应该是"wrap_content"

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:srcCompat="@drawable/ic_add_black_24dp"
    app:tint="#404D54"
    app:backgroundTint="#ffd500"
    app:fabCustomSize="36dp" />
Run Code Online (Sandbox Code Playgroud)