在 LinearLayout 中对齐矢量图像
Aligning vector image inside 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>
后退箭头和下一个箭头 (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
...但没有任何效果。
如有任何帮助,我们将不胜感激!
发现问题了,是因为我在使用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>
我使用 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>
后退箭头和下一个箭头 (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
...但没有任何效果。
如有任何帮助,我们将不胜感激!
发现问题了,是因为我在使用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>