首页 > 解决方案 > 在 LinearLayout 中对齐矢量图像

问题描述

我使用 LinearLayout 创建了一个导航栏,如下所示。

在此处输入图像描述

xml 代码。

    <LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:background="@color/green"
    android:textColor="@android:color/white">

    <ImageView
        android:id="@+id/previous_button"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:padding="10sp"
        app:srcCompat="@drawable/ic_play_arrow_black_24dp"
        android:rotation="180"
        android:scaleType="fitCenter"/>

    <Button
        android:id="@+id/list_button"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:layout_toRightOf="@+id/previous_button"
        android:layout_toLeftOf="@+id/next_button"
        android:text=""
        android:background="@color/green"
        android:textColor="@android:color/white"/>

    <ImageView
        android:id="@+id/next_button"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:padding="10sp"
        app:srcCompat="@drawable/ic_play_arrow_black_24dp"
        android:scaleType="fitCenter"/>

</LinearLayout>

Back and Next Arrow (ic_play_arrow_black_24dp) 来自 Android stuido 的向量。

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="45dp"
    android:height="45dp"
    android:viewportWidth="20.0"
    android:viewportHeight="20.0">
<path
    android:fillColor="@android:color/white"
    android:pathData="M8,5v14l11,-7z"/>
</vector>

如您所见,我的问题是后退箭头和下一个箭头都没有垂直对齐它们。我尝试了很多方法,例如layout_gravity:center......但没有任何效果。

任何帮助将不胜感激!

标签: androidvectorimageviewalignment

解决方案


发现问题了,是因为我在使用Android Studio创建矢量图时(文件->新建矢量图),我输入的宽高为24x24,但之后又改宽高为45x45。为了解决这个问题,我只需再次创建 45x45 大小的矢量。

<vector android:height="45dp" android:viewportHeight="24.0"
    android:viewportWidth="24.0" android:width="45dp" xmlns:android="http://schemas.android.com/apk/res/android">
    <path android:fillColor="@android:color/white" android:pathData="M8,5v14l11,-7z"/>
</vector>

在此处输入图像描述


推荐阅读