为什么我的FloatingActionButton看起来不同?

时间:2018-11-06 19:02:22

标签: xml android-layout

我创建了一个FloatingActionButton,而不是常规按钮,enter image description here

这是我的XML代码:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"

    android:layout_margin="16dp" />

我希望按钮像这样正常:

enter image description here

3 个答案:

答案 0 :(得分:0)

尝试添加具有android:src属性的图像。您可以通过Android Studio在res / drawable文件夹中添加实际图像。

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="end|bottom"

    android:src="@drawable/{your image resource}"

    android:layout_margin="16dp" />

答案 1 :(得分:0)

浮动操作按钮代码如下所示:

<android.support.design.widget.FloatingActionButton
      android:id="@+id/fab"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_gravity="top|end"
      android:layout_margin="@dimen/fab_margin"
      android:layout_marginBottom="8dp"
      android:layout_marginEnd="8dp"
      app:layout_constraintBottom_toTopOf="@+id/bottomBar"
      app:layout_constraintEnd_toEndOf="@+id/contentContainer"
      app:srcCompat="@drawable/ic_receipt" />

layout.xml应该是这样的:

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".features.main.MainActivity">

    <android.support.design.widget.AppBarLayout
      android:id="@+id/appBarLayout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:theme="@style/AppTheme.AppBarOverlay"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toTopOf="parent">

      <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay" />

    </android.support.design.widget.AppBarLayout>

    <!-- This could be your fragment container, or something -->
    <FrameLayout
      android:id="@+id/contentContainer"
      android:layout_width="match_parent"
      android:layout_height="0dp"
      android:layout_above="@+id/bottomBar"
      app:layout_constraintBottom_toTopOf="@+id/bottomBar"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toBottomOf="@+id/appBarLayout" />

    <android.support.design.widget.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:layout_marginBottom="8dp"
      android:layout_marginEnd="8dp"
      app:layout_constraintBottom_toTopOf="@+id/bottomBar"
      app:layout_constraintEnd_toEndOf="@+id/contentContainer"
      app:srcCompat="@drawable/ic_receipt" />

  </android.support.design.widget.CoordinatorLayout>

确保您的代码看起来像上面的xml代码。 如果没有与xml代码相关的任何问题,则错误将在Android Studio上出现。

答案 2 :(得分:0)

请确保已在implementation 'com.android.support:design:28.0.0'(应用程序)中添加了依赖项build.gradle。如果未添加,则将其添加到build.gradle

添加依赖项后,在布局文件中应用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:gravity="center">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@android:drawable/ic_dialog_email" />

</LinearLayout>

我希望它对您有用。