2013-07-03 11 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 =「true」をeveerythingはOKですが、私は右の鉱山相対レイアウトストレッチに設定したときに(左画像):

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

私はこの問題を解決する可能性がどのようにアドバイスしてくださいでした。

のthnxは

+0

あなたは同時にそれを左右の親に整列させていますか?そうであれば、それはwrap_contentをオーバーライドして親を埋めるように強制します(2つの悪のうちの小さいものとして、レイアウト内の他のものを同じサイズに縮小することです)。 –

+0

あなたの質問に対する答えは見つかりましたか?私はまったく同じ問題に走っています。 – 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

関連する問題