2014-12-26 61 views
-1

我使用4種不同的LinearLayout內部4不同RelativeLayout如何劃分線性佈局內的ImageView不同等份機器人

4不同的LinearLayout包含取決於Imageview(1 imageview,2 imageview,3 imageview或4 imageview)可用於特定佈局的圖像數量。

我實現1 imageview,2 imageview佈局成功,但沒能獲得3 imageview或4 imageview

我張貼的預期影像enter image description here

我試圖QuiltView庫 My Previous post ..沒有達到預期佈局。

也試過StaggeredGridView ...圖書館顯示許多錯誤......

因此我的應用定製邏輯得到預計的佈局

<RelativeLayout android:id="@+id/rel_news_grid_photos_3" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="10dip" 
     android:layout_below="@+id/rel_news_grid_photos_2" 
     >  

     <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:orientation="horizontal" 
    android:padding="5dp" 
    android:background="#FFFFFF"> 

    <ImageView 
     android:id="@+id/img_grid_3_1" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1" 
     android:src="@drawable/b" 
     android:scaleType="fitXY"/> 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    android:orientation="vertical" 
    android:padding="5dp" 
    android:background="#FFFFFF"> 


    <ImageView 
     android:id="@+id/img_grid_3_2" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:src="@drawable/b" 
     android:scaleType="fitXY" 
     android:layout_marginLeft="5dp"/> 
     <ImageView 
     android:id="@+id/img_grid_3_3" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:src="@drawable/b" 
     android:scaleType="fitXY" 
     android:layout_marginLeft="5dp"/>  

    </LinearLayout> 

</LinearLayout> 

    </RelativeLayout> 
+0

爲什麼兄弟downvote ....任何具體原因..或只是時間通過 –

回答

1

你應該先了解weightLinearLayout關係。下面的代碼適用於3個ImageViews。

<RelativeLayout android:id="@+id/rel_news_grid_photos_3" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dip" 
    android:layout_below="@+id/rel_news_grid_photos_2" 
    xmlns:android="http://schemas.android.com/apk/res/android">  

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     android:orientation="horizontal" 
     android:weightSum="1" 
     android:padding="5dp" 
     android:background="#FFFFFF"> 

     <ImageView 
      android:id="@+id/img_grid_3_1" 
      android:layout_width="0dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="0.5" 
      android:scaleType="fitXY" 
      android:src="@drawable/b" /> 

     <LinearLayout 
      android:layout_width="0dp" 
      android:layout_height="200dp" 
      android:layout_weight="0.5" 
      android:orientation="vertical" 
      android:weightSum="1" 
      android:padding="5dp" 
      android:background="#FFFFFF"> 


      <ImageView 
       android:id="@+id/img_grid_3_2" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="0.5" 
       android:src="@drawable/b" 
       android:scaleType="fitXY" 
       android:layout_marginLeft="5dp"/> 
      <ImageView 
       android:id="@+id/img_grid_3_3" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="0.5" 
       android:src="@drawable/b" 
       android:scaleType="fitXY" 
       android:layout_marginLeft="5dp"/>  

     </LinearLayout> 

    </LinearLayout> 

</RelativeLayout> 

編輯:weightsum是權重對當前LinearLayout的總和。例如,您的LinearLayout有2個孩子,他們的權重爲0.5,因此您的權重爲1.如果您未設置此參數,則默認值爲1。

+0

謝謝你..你是誰downvoted? –

+0

不客氣,不,我不是。 –

+0

你能解釋我diff bwtn的權重和重量嗎? –