在浮动操作按钮中仅显示图标

Show only icon in floating action button

我只想在 FloatingActionButton 中显示我的可绘制图标(最低 14 API 级及更高级别)。我尝试了 src、背景、更改背景色调、borderWidth 等各种方法,但都无济于事。即使改变我的可绘制对象的大小也不会改变它在显示中的大小。它很小并且被按钮背景包围。我希望它更大并且没有背景。

PS。不想用 ImageView 做这件事而失去 FloatingActionButton 提供的所有功能。

 <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="20dp"
        android:src="@drawable/ic_add_circle"
        app:borderWidth="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

试试这个:

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/faBtn"

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:layout_marginEnd="20dp"
    android:layout_marginRight="20dp"
    android:layout_marginBottom="20dp"

    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintRight_toRightOf="parent"


    android:src="@drawable/ic_add_circle"

    app:fabCustomSize="@dimen/fabSize"
    app:fabSize="normal"
    app:maxImageSize="@dimen/fabImageSize"

    android:background="@null"
    android:backgroundTint="@null"

    app:backgroundTint="@null"
    app:elevation="0dp"
    android:elevation="0dp"
/>

要使晶圆厂不投射阴影,您需要将海拔高度设置为 0;没找到其他方法。

祝你有愉快的一天。

只需使用类似的东西:

  <com.google.android.material.floatingactionbutton.FloatingActionButton
      android:id="@+id/fab_test"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"

      app:srcCompat="@drawable/baseline_search_24"
      app:tint="@color/selector_button"
      app:backgroundTint="@android:color/transparent"
      app:elevation="0dp"
      app:maxImageSize="@dimen/design_fab_size_mini"
      app:pressedTranslationZ="0dp"
      ../>
  • app:srcCompat 添加图标(而不是 android:src
  • app:backgroundTint 为您的背景定义透明颜色
  • app:elevation="0dp" 去除高程
  • app:pressedTranslationZ="0dp" 按下时删除 FAB 的 TranslationZ
  • app:maxImageSize 定义图标的最大尺寸。您可以使用自定义值或标准值作为 design_fab_size_mini = 40dpdesign_fab_size_normal= 56dp
  • app:tint:定义图标的颜色。您可以使用选择器来处理按下状态。

类似于:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:color="@color/mycolor" android:state_enabled="true" android:state_pressed="true"/>
  <item android:color="@color/myPrimaryColor" android:state_enabled="true"/>
  <item android:alpha="0.12" android:color="?attr/colorOnSurface"/>
</selector>

正常和按下状态结果: