这是XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/test"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Hello World!" />
<android.support.design.widget.FloatingActionButton
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginBottom="4dp"
android:scaleType="center"
android:src="@drawable/button_floating_add"
app:borderWidth="0dp"
app:elevation="8dp" />
</RelativeLayout>
输出看起来像这样:
我认为这是由于API版本的更改而发生的。我正在将compileSDK和targetSDK版本用作28
,并将设计和appcompat库用作28.0.0
。当我将API和设计库的版本更改回26
时,输出如下:
答案 0 :(得分:3)
floating action button anatomy状态
FAB容器有两种尺寸:
- 默认(56 x 56dp)
- 迷你(40 x 40dp)
因此,您要使用小型FAB。但是您不必使用layout_width
和layout_height
来定义它,因为这只会弄乱填充。您必须使用app:fabSize
属性并将其设置为SIZE_MINI
:
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:fabSize="mini"
... />
答案 1 :(得分:1)
您是否尝试过使用Android Asset Studio?它们几乎具有每种尺寸和密度的每个基本可绘制对象。此处链接https://developer.android.com/studio/write/image-asset-studio.html
答案 2 :(得分:0)
根据视图的高度和宽度使用此属性
app:fabCustomSize="40dp"
并建议您使用.svg文件而不是.png。
答案 3 :(得分:0)
可以请您试试这些属性,
android:layout_gravity="bottom|center"
android:layout_centerHorizontal="true"
android:scaleType="fitCenter"
答案 4 :(得分:0)
晶圆厂是一种特殊的视图,您必须遵守其所需的需求。话虽这么说,其宽度和高度应为"wrap_content"
。如果您希望自己的晶圆厂成为迷你版,可以添加app:fabSize="mini"
。
您可以使用layout_gravity
设置其屏幕位置(在下面的示例中,该位置在右下角)。另外,图标必须为24dp x 24dp。我建议您从https://material.io/tools/icons/?style=baseline下载图标,在这里您可以选择图像大小以及所有其他内容。
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="@dimen/fab_margin"
android:onClick="@{() -> viewModel.onFabPressed()}"
app:srcCompat="@drawable/ic_baseline_add_24px"/>
上面的xml是我的一个应用程序中的有效示例。 我希望这对您有所帮助,并祝您有美好的一天!