将ImageView带到RelativeLayout的中间 - Android

时间:2013-07-21 11:51:12

标签: android layout

我一直无法让这个LinearLayout移动到RelativeLayout的垂直中心,这是它的父级。我尝试了很多方法,也许我使用了错误的方法,但我不确定。有人可以检查一下,看看我需要添加什么。谢谢。 LinearLayout右侧有一些TextView,但我没有包含它们,因为你不需要它们,但只记得布局需要在RelativeLayout的垂直中心,而不是在完整的中心。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background_card"
    android:orientation="horizontal"
    android:padding="5dip" >

<!--  ListRow Left sied Thumbnail image -->
    <LinearLayout android:id="@+id/thumbnail" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dip"      
        android:layout_alignParentLeft="true"
        android:gravity="center"
        android:background="@drawable/image_bg" 
        android:layout_marginRight="5dip">

    <ImageView
        android:id="@+id/list_image"
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:src="@drawable/thumb"/>

</LinearLayout>

2 个答案:

答案 0 :(得分:3)

如果您需要将RelativeLayout内的元素垂直居中,在特定情况下为LinearLayout,则将android:layout_centerVertical="true"属性添加到LinearLayout。

答案 1 :(得分:1)

首先使用线性内部相对不是一个好主意,我更喜欢你改变它但仍然如果你想保持它相同,不能移动middel中的线性布局,你必须移动你的图像

现在有很多方法,比如

android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_centerVertical="true"

加上你可以手动提供保证金 - 输入

android:layout_marginTop="162dp" android:layout_marginleft="80dp" ..

首先尝试这些,但仍然强烈建议使用线性或相对,你总是可以在设计视图中拖动你的UI。