web-dev-qa-db-ja.com

Android:フローティングアクションボタンのapp:fabSize = "normal"のサイズを変更する方法

新しい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
24
michael

FABには2つの異なるサイズがあります:normalまたはmini

  1. Normal (56dp) —このサイズは、ほとんどの状況で使用する必要があります。

  2. Mini (40dp) —画面に表示される他のコンポーネントとの視覚的な連続性が必要な場合にのみ使用してください。

38
H.S.H

以下を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つ以上のファブサイズが必要な場合です。その場合、ファブを拡張するカスタムビューを作成する必要があると思います。

40

推奨されていませんが、デフォルトサイズを絶対に変更する必要がある場合は、FloatingActionButtonLinearLayoutにラップすることでできました。

<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>
16
Kahtaf Alam

Xmlのapp:fabCustomSizeユーザーのみ

app:fabCustomSize="100dp"

ビンゴ。

13

Standard Sizes

標準のFABサイズ( developer.Android に準拠)には3つのオプションがあり、app:fabSizeを使用して設定できます。

  1. normal:通常サイズのボタン。
  2. mini:ミニサイズのボタン。
  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" />
5
aminography

app: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" />
1
Reone

Fabサイズを変更し、大きな画像initを表示するには、以下で変更を行いましたAndroid api 28:-thew are 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>
0
Sandeep Sankla
<dimen name="design_fab_size_normal">90dp</dimen>
<dimen name="design_fab_size_mini">30dp</dimen>
Set this in dimen file.
0
Ankit Gupta