背景可绘制对象不会填充浮动操作按钮

Gee*_*oid 1 android android-drawable floating-action-button

我有FAB并试图将drawable(round_drawable.xml)填充到整个晶圆厂,但是drawable当前显示在左上角,如下所示,

在此处输入图片说明

我尝试了从设置src和FloatingActionButton的背景的解决方案, 但是它不起作用,从其他来源添加了大多数属性,但是都scaleType, src, background不起作用。

我如何用round_drawable填充FAB?

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="100dp"
        android:layout_height="95dp"

        android:scaleType="fitXY"
        app:backgroundTint="@color/white"
        android:src="@drawable/round_drawable"
        android:backgroundTintMode="src_atop"

        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent" />

</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

round_drawable.xml

@drawable/right 是向右箭头的png图片。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item>
        <shape
            android:innerRadius="50dp"
            android:shape="oval">

            <corners android:radius="10dp" />

            <gradient
                android:angle="45"
                android:endColor="#D425B5"
                android:startColor="#EBF928" />

        </shape>
    </item>
    <item
        android:bottom="5dp"
        android:left="5dp"
        android:right="5dp"
        android:top="5dp">
        <bitmap
            android:gravity="center"
            android:src="@drawable/right" />
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

V-r*_*hit 5

只需在dimen.xml文件中添加此行

<dimen name="design_fab_image_size" tools:override="true">56dp</dimen>
Run Code Online (Sandbox Code Playgroud)

注意: 56dp FAB按钮的默认大小

  • 默认值-56dp
  • 迷你-40dp
  • 自定义-您在其中指定的任何内容 fabCustomSize

提示:使用app:fabCustomSize宁可给FAB按钮自定义高度宽度。

在您的布局中

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:backgroundTint="@color/white"

    <!--inmprtent-->
    app:fabCustomSize="100dp"

    android:src="@drawable/round_drawable"
    android:backgroundTintMode="src_atop"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"/>
Run Code Online (Sandbox Code Playgroud)

现在创建 dimens.xml

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
    <dimen name="design_fab_image_size" tools:override="true">100dp</dimen>
</resources>
Run Code Online (Sandbox Code Playgroud)

保持round_drawable.xml原样,您可以继续前进

结果

在此处输入图片说明

干杯..