android - 在 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
......但没有任何效果。
任何帮助将不胜感激!
解决方案
发现问题了,是因为我在使用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>
推荐阅读
- javascript - 使用 Sinon 存根 pg-promise
- xcode - Xcode:签署“gRPC-C++-gRPCCertificates-Cpp”需要开发团队
- python - 如何矢量化外积
- android - 如何使后退按钮关闭在android上颤动的WebView插件应用程序
- charts - Google Charts API:直方图,如何融合条形并将 x-ticks 更改为整数
- php - Laravel,如何更新用户个人资料并检查电话号码是否重复
- reactjs - Material UI KeyboardDatePicker 中的覆盖格式
- c++ - C ++中的文件输入/输出(使用类)
- css - react-gesture-gallery 将图像设置为全屏宽度
- python - 在 matplotlib 中使用 ffmpeg 制作动画时“系统找不到指定的文件”