2016-10-30 70 views
1

我正在爲簡單的android應用程序設計線性佈局。我想讓兩個視圖的一部分根據大小動態變化(我想要的是,對於從左到右的一排,前20%是空的,並且所有內容都在80%的其餘內)。對於這種方法,我選擇了不同視角的重量。我爲這種方法創建了一個嵌套的線性佈局。例如,佈局層次結構就像這樣。帶有百分空格的LinearLayout

<linearLayout> //parent layout 
    <linearLayout //child 1 layout 
     android:layout_weight="1"> 
     //so that this view occupy 20% of the space regardless the width of device. I intensionally wanna keep this view empty. 
    </linearLayout> 
    <linearLayout //child 2 layout 
     android:layout_weight="4"> 
      //so that this view occupy 80% of the space regardless the width of device. and 
      //inside this view I have whatever view I wanna add on it. 
     <EditText> 
     <ImageView> 
    </linearLayout> 
</linearLayout> 

通過這種方法,皮棉Android Studio中告訴我,以下警告:

  1. 這是一個嵌套佈局。佈局權重需要一個小部件進行兩次測量。當具有非零權重的LinearLayout嵌套在具有非零權重的另一個LinearLayout內時,測量次數呈指數增長。

  2. 孩子1個佈局是沒用的:這LinearLayout觀點是無用的(無子女,無background,沒有id,沒有style

誰能解決我在正確的佈局,以便使用根據設備的大小動態改變佈局?我應該如何正確設置線性佈局案例的空白空間?

回答

2

這是使用權重可能的解決方案:

<LinearLayout 
    android:layout_width="match_parent" 
    android:gravity="end" 
    android:weightSum="1"> 

    <!-- Your content here: --> 
    <View 
     android:layout_width="0dp" 
     android:layout_weight="0.8" 
     android:layout_gravity="end" /> 

</LinearLayout> 
+0

這正是我期待的。謝謝。 –