2

这个问题很简单。我想放置一个 ImageView 使其与父母左侧和父母水平中心对齐。在不添加其他布局等的情况下这可能吗?

编辑:这是我想要的图像。并不是说 ImageView 应该与父母的水平中心对齐。ImageView 的高度并不重要。 在此处输入图像描述

4

2 回答 2

3

所以,我知道这是你不想要的,但这是获得你想要的东西的方式:

 <RelativeLayout
     android:layout_height="match_parent"
     android:layout_width="match_parent" />
     <View
         android:id="@+id/anchor"
         android:layout_width="0dp"
         android:layout_height="0dp"
         android:layout_centerHorizontal="true" />
     <ImageView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_alignParentLeft="true"
         android:layout_toLeftOf="@+id/anchor" />
</RelativeLayout>

预编辑:

我会专门将它放在具有以下属性的 RelativeLayout 中:

<ImageView
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_centerVertical="true"
    android:layout_alignParentLeft="true"
    ... whatever else you need />

我在这里假设您希望它垂直居中,因为不可能左对齐和水平居中。

于 2013-02-09T01:29:31.843 回答
2

这在很大程度上取决于您选择了哪种类型的父布局。

你能张贴一张你想要的样子吗?

将您的图像居中,您可以使用

android:layout_gravity="center" 

或者

android:layout_gravity="center_horizontal"

此外,如果您有一个 RelativeLayout 作为父级,您可以将您的 ImageView 与附近的其他元素对齐:

android:layout_above="@id/neighbour"
android:layout_alignLeft="@id/who_to_align_left_with"

依此类推,您拥有所有方向的属性。

这也可能有用

Android 相对布局

编辑:

现在我想我明白你想要什么了;居中父母使用这个属性:

android:layout_gravity="center_horizontal"

对于 ImageView 使用这个属性

android:layout_gravity="center|center_vertical"
于 2013-02-09T01:20:14.727 回答