【问题标题】:Aligning vector image inside LinearLayout在 LinearLayout 中对齐矢量图像
【发布时间】:2020-10-26 08:02:58
【问题描述】:

我使用 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 ...但没有任何效果。

任何帮助将不胜感激!

【问题讨论】:

  • 我认为使用旋转不是一个好主意,因为 x 和 y 会受到影响,换句话说,宽度、高度和所有内容都被混淆了。我建议你创建左键图像。
  • 您好,谢谢您的回复。但是下一个没有旋转的按钮也没有垂直对齐,
  • 您将左键旋转了 180 度。和wrap_content 用于两个图像视图的高度。然后将 LinearLayout 的重力设置为垂直居中。
  • @c-an 谢谢,我按照你的指示做了,但问题依旧

标签: android vector imageview alignment


【解决方案1】:

发现问题了,是因为我在使用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>

【讨论】:

  • 你有什么理由使用srcCompat
  • @c-an 使用VectorDrawableCompat 时需要使用app:srcCompat
猜你喜欢
  • 1970-01-01
  • 2014-08-13
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2015-12-16
  • 2015-09-12
  • 2014-10-15
  • 1970-01-01
相关资源
最近更新 更多