2011-10-29 7 views
11

relative layout相対レイアウト。 2つのアイテムの間

アイテムを他の2つのアイテムの間に配置し、中央に配置するにはどうすればよいですか? (上の写真の赤いボタンを参照してください) - どのように "センターボタン"と "ボトムボタン"の間に置くことができますか?ここで

は私の相対的なレイアウトコードです:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent"> 

    <Button 
     android:id="@+id/button_center" 
     android:text="Center" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" 
     android:layout_centerInParent="true"/> 

    <!-- The new button should be between these 2 items --> 

    <Button 
     android:id="@+id/button_bottom" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Bottom" 
     android:layout_centerHorizontal="true" 
     android:layout_alignParentBottom="true"/> 

    <Button 
     android:id="@+id/button_top" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Top" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true"/> 

    <Button 
     android:id="@+id/button_left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Left" 
     android:layout_alignParentLeft="true" 
     android:layout_centerVertical="true"/> 

    <Button 
     android:id="@+id/button_rignt" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Right" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true"/> 

    <Button 
     android:id="@+id/button_rel_right" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@id/button_right" 
     android:layout_alignTop="@id/button_rignt" 
     android:text="RelRight"/> 

    <Button 
     android:id="@+id/button_rel_left" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toRightOf="@id/button_left" 
     android:layout_alignTop="@id/button_left" 
     android:text="RelLeft"/> 

</RelativeLayout> 
+1

レイアウトのxmlを投稿します。ソリューションはあなたのXMLに依存します –

答えて

24

ボタンが真ん中にくるように別のレイアウトを追加する必要があります。たとえば、これをレイアウトに追加します。

<FrameLayout 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_above="@+id/button_bottom" 
    android:layout_alignLeft="@+id/button_center" 
    android:layout_alignRight="@+id/button_center" 
    android:layout_below="@id/button_center" > 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="new" /> 
</FrameLayout> 
-1

私は、このソリューションに来た:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <!-- centered button --> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true"> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1"/> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 

     <Button android:text="CenteredButton" 
       android:id="@+id/centered_button"   
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center"/> 

    </FrameLayout> 
    </LinearLayout> 

</RelativeLayout> 

はただのLinearLayoutと、このコードの代わりに、ボタンを使用します。私はそれが最高のものではないと思うが、十分に良い。

関連する問題