浮动操作按钮将图像强制移到右下角而不是中心

时间:2019-07-19 14:31:04

标签: android android-layout android-button

我正在使用带有图片的浮动操作按钮,并且在最近更新了Android Studio之后,图片不再居中,并位于右下角

enter image description here

我从未更改有关图像或按钮的任何代码,但对如何使它再次居中感到好奇。

这里是按钮的用途:

<android.support.design.widget.FloatingActionButton
 android:id="@+id/expandButton"
 android:layout_width="44dp"
 android:layout_height="44dp"
 android:layout_alignParentEnd="true"
 android:layout_below="@id/imageFrame"
 android:layout_marginBottom="-22dp"
 android:layout_marginEnd="@dimen/item_margin"
 android:layout_marginTop="-22dp"
 android:background="@color/orange"
 app:backgroundTint="@color/orange"
 app:borderWidth="0dp"
 app:srcCompat="@drawable/ic_expand" />

这是图片:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="512dp"
    android:height="512dp"
    android:viewportWidth="512"
    android:viewportHeight="512">

    <path
        android:fillColor="@color/white"
        android:pathData="M64.9 127c-14.9-14.9-39.1-14.9-54 0s-14.9 39.1 0 54l218 218c14.9 14.9 39.1 14.9 54 0l218-218c14.9-14.9 14.9-39.1 0-54-14.9-14.9-39.1-14.9-54 0l-191 191.2L64.9 127z" />
</vector>

正如我所说,我从未对这两部分进行任何更改,现在图像突然被迫移至右下角。如何使图像居中显示在按钮上?

2 个答案:

答案 0 :(得分:0)

我已经尝试过您的代码。我所做的只是更改了一些属性。

用于FloatingActionButton。

尝试更改此内容

android:layout_width="44dp"
android:layout_height="44dp"

对此

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

对于ic_expand

更改此

android:viewportWidth="512"
android:viewportHeight="512"

对此

android:viewportWidth="24.0"
android:viewportHeight="24.0"

让我知道这是否可行。

[编辑]这是我的代码。

activity_main.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"
    android:gravity="center">

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/expandButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="-22dp"
        android:layout_marginBottom="-22dp"
        app:borderWidth="0dp"
        app:srcCompat="@drawable/ic_expand_more_black_24dp" />

</RelativeLayout>

ic_expand_more_black_24dp.xml

<vector
    android:height="512dp"
    android:viewportHeight="24"
    android:viewportWidth="24"
    android:width="512dp"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="#FF000000"
        android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z"/>
</vector>

这里是image

答案 1 :(得分:0)

设置

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

请尝试以下代码:

<android.support.design.widget.FloatingActionButton
        android:id="@+id/expandButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/fab_margin"
        app:srcCompat="@drawable/ic_expand"
        app:backgroundTint="@color/orange"/>

希望它对您有用。