2013-07-03 108 views
12

我有以下布局:Android的相对布局对齐父权

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/test_ll" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/background" 
android:orientation="vertical" > 

<RelativeLayout 
    android:id="@+id/main_layPanelCircle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_vertical|center_horizontal" 
    android:layout_marginLeft="10dp" 
    android:layout_marginRight="10dp" 
    android:layout_marginTop="15dp" 
    android:background="@drawable/main_panel_a" 
    android:orientation="vertical" 
    android:padding="10dp" > 

    <ImageView 
     android:id="@+id/main_imgBreachAlert" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="5dp" /> 

    <Button 
     android:id="@+id/main_btnMap" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:background="@null" 
     android:drawableTop="@drawable/icon_find" 
     android:text="@string/main_locate" 
     android:textColor="@android:color/white" 
     android:textSize="10sp" /> 

    <LinearLayout 
     android:id="@+id/main_llPanelCycleMiddle" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/main_btnMap" 
     android:layout_centerInParent="true" 
     android:orientation="horizontal" > 

     <Button 
      android:id="@+id/main_btnLeft" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@null" 
      android:drawableTop="@drawable/icon_call" 
      android:text="@string/main_call" 
      android:textColor="@android:color/white" 
      android:textSize="10sp" 
      android:visibility="visible" /> 

     <Button 
      android:id="@+id/main_btnEmergency" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@null" 
      android:drawableTop="@drawable/icon_emergency" 
      android:scaleType="center" 
      android:text="@string/main_emergency" 
      android:textColor="@android:color/white" 
      android:textSize="9sp" 
      android:textStyle="bold" /> 

     <Button 
      android:id="@+id/main_btnRight" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:background="@null" 
      android:drawableTop="@drawable/icon_store" 
      android:text="@string/main_store" 
      android:textColor="@android:color/white" 
      android:textSize="10sp" /> 
    </LinearLayout> 

    <Button 
     android:id="@+id/main_btnMore" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/main_llPanelCycleMiddle" 
     android:layout_centerHorizontal="true" 
     android:background="@null" 
     android:drawableTop="@drawable/icon_more" 
     android:text="@string/main_more" 
     android:textColor="@android:color/white" 
     android:textSize="10sp" /> 
</RelativeLayout> 

</LinearLayout> 

当我设置main_imgBreachAlert机器人:layout_alignParentLeft =“真” eveerything是OK(左图),但是当我将它设置为正确的矿井相对布局舒展(左图):

http://i.imgur.com/uDJqF0k.jpg?1

请您指教,我怎么能解决这个问题。

日Thnx

+0

你是否在同一时间将它与父母左右对齐?如果是这样,那就迫使它填充父项,重载wrap_content(作为两个邪恶中的较小者,另一个选项是将布局中的其他任何东西缩小到相同的大小)。 –

+0

你找到了你的问题的答案? Iam遇到完全相同的问题 – Snake

回答

26

尝试android:layout_centerInParent="true",如果你想在你的布局为中心的图像删除alignParentLeft属性。

如果您只想将它​​对齐到右侧,请使用android:layout_alignParentRight="true"

<ImageView 
    android:id="@+id/main_imgBreachAlert" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_marginRight="5dp" /> 
+2

我想将右侧的图像设置为不居中。 – Damir

+1

然后只使用android:alignParentRight =“true”并删除alignParentLeft属性。 – Flynn81

+2

如果我设置alignParentRight比它拉伸父控件所在的父项。 我认为我的方法是错误的。我实际上想要在背景周围设置布局背景和换行布局,并且将其他控件放在该布局中,但它应该围绕背景图像保留 。如果这是有道理的。 – Damir