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

问题描述 投票:20回答:8

使用新的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>

但是我得到了错误

"normal" in attribute "fabSize" is not a valid integer
android android-layout floating-action-button
8个回答
36
投票

有两种不同大小的FAB可用:normalmini

  1. Normal (56dp) - 在大多数情况下应使用此尺寸。
  2. Mini (40dp) - 仅在需要与屏幕上显示的其他组件进行视觉连续性时使用。

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>

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


16
投票

我知道不推荐,但对于那些绝对需要更改默认尺寸的人,我能够通过将FloatingActionButton包裹在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>

13
投票

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

app:fabCustomSize="100dp"

答对了。


5
投票

Standard Sizes

标准FAB尺寸有三种选择(根据developer.android),您可以使用app:fabSize设置它们。

  1. normal:正常大小的按钮。
  2. 迷你:迷你尺寸按钮。
  3. auto:将根据窗口大小更改的大小

.

<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" />

.

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" />

1
投票

应用:maxImageSize

<android.support.design.widget.FloatingActionButton
    android:id="@+id/floating_action_button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"
    android:layout_marginBottom="60dp"
    android:src="@drawable/icon_return_back"
    app:backgroundTint="#00ffffff"
    app:borderWidth="0dp"
    app:elevation="0dp"
    app:maxImageSize="46dp"
    app:pressedTranslationZ="0dp"
    app:rippleColor="#00ffffff" />

0
投票
<dimen name="design_fab_size_normal">90dp</dimen>
<dimen name="design_fab_size_mini">30dp</dimen>
Set this in dimen file.

0
投票

要更改Fab大小并查看大图像init,我在android api 28中进行了以下更改: - thew为as

    <android.support.design.widget.FloatingActionButton
    android:id="@+id/profile_imageview"
    android:layout_width="@dimen/design_fab_size_mini"
    android:layout_height="@dimen/design_fab_size_mini"
    android:layout_marginTop="10dp"
    android:src="@drawable/pin_check"
    app:borderWidth="0dp"
    app:elevation="0dp"
    app:maxImageSize="90dp" />

在dimens.xml中的位置

<dimen name="design_fab_size_mini" tools:override="true">90dp</dimen>
<dimen name="design_fab_content_size" tools:override="true">58dp</dimen>
© www.soinside.com 2019 - 2024. All rights reserved.