0

我有一個RelativeLayout。它裏面我有:如何在其他佈局之間放置佈局在RelativeLayout中?

  • an ImageView 120x120 dp在右邊。在左其他
  • 3個佈局:
    • 1佈局(稱爲頂部)具有alignParentTop=true
    • 第二個佈局(稱爲底部)具有alignParentBottom=true
    • 第三佈局(稱爲中東)是在中間(低於頂部及以上底部)。

的問題是:如果我的容器(RelativeLayout)設置layout_width="wrap_content",我沒有看到中東佈局。

如果我將它設置爲一些值(例如:144dp),我會看到中間佈局。

這裏是佈局結構(我隱藏了一些子佈局,只顯示主佈局)。

<?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="wrap_content" 
    android:padding="16dp"> 

    <LinearLayout 
     android:id="@+id/top" 
     android:background="#eeaaee" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentTop="true" 
     android:layout_toLeftOf="@+id/image" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/bottom" 
     android:background="#22eeaa" 
     android:layout_toLeftOf="@+id/image" 
     android:layout_alignParentStart="true" 
     android:layout_alignParentBottom="true" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/middle" 
     android:layout_width="match_parent" 
     android:background="#44ee22" 
     android:layout_toLeftOf="@+id/image" 
     android:layout_height="64dp" 
     android:layout_below="@+id/top" 
     android:layout_above="@+id/bottom"> 
     <TextView 
      android:id="@+id/hotnews_title" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:textStyle="bold" 
      android:textSize="14sp" 
      /> 
    </LinearLayout> 

    <ImageView 
      android:id="@+id/image" 
      android:layout_alignParentEnd="true" 
      android:layout_width="120dp" 
      android:layout_height="120dp" 
      android:scaleType="centerCrop"/> 
</RelativeLayout> 
+0

也許我不明白你的問題,在你的中間佈局中試試android:layout_alignParentLeft =「true」。希望能幫助到你。 –

+0

@AndreaEbano它不起作用。 – TOP

+0

你可以設置高度爲match_parent –

回答

0

,如果你想要把比一些佈局之間佈局其更好地使用的LinearLayout作爲所有三個(上,中,下)母公司layout.and使用它的方向和重量。我已經使用了linearlayout的固定高度來區分頂部,中部和底部視圖。根據你的需要改變它。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="16dp"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:id="@+id/top" 
       android:layout_width="match_parent" 
       android:layout_height="40dp" 
       android:background="#eeaaee" 
       android:orientation="horizontal"></LinearLayout> 

      <LinearLayout 
       android:id="@+id/bottom" 
       android:layout_width="match_parent" 
       android:layout_height="40dp" 
       android:background="#22eeaa" 
       android:orientation="horizontal" /> 

      <LinearLayout 
       android:id="@+id/middle" 
       android:layout_width="match_parent" 
       android:layout_height="40dp" 
       android:background="#44ee22"> 

       <TextView 
        android:id="@+id/hotnews_title" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:textSize="14sp" 
        android:textStyle="bold" /> 
      </LinearLayout> 


     </LinearLayout> 

     <ImageView 
      android:id="@+id/image" 
      android:layout_width="120dp" 
      android:layout_height="120dp" 
      android:layout_alignParentEnd="true" 
      android:layout_alignParentRight="true" 
      android:layout_weight="1" 
      android:scaleType="centerCrop" /> 


    </LinearLayout> 


</RelativeLayout> 
相關問題