2014-01-23 66 views
0

我這個簡單的代碼在我的應用程序:安卓:定位優先

<merge xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:baselineAligned="false" 
    android:gravity="fill_horizontal" 
    android:orientation="horizontal" > 

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

     <ProgressBar 
      android:id="@+id/elapsedTimeBar" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

     <TextView 
      android:id="@+id/elapsedTimeText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="@string/time_mockup" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 
    </LinearLayout> 

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

     <Button 
      android:id="@+id/next" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:onClick="onNextClick" 
      android:text="@string/next" /> 

    </LinearLayout> 
</LinearLayout> 

我要實現的情況下按鈕上進度和進度條的右側填補了左全spave按鈕。
我假設上面的代碼將處理這個問題,但在我的情況下,ProgressBar被拉伸並從畫布整個LinearLayout中用Button推出。我可以以某種方式做那個按鈕(或按鈕佈局)是一個參考點,「定位器」從它開始下單嗎?

回答

0

我想通了:

<merge xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" > 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:baselineAligned="false" 
    android:gravity="fill_horizontal" 
    android:orientation="horizontal" > 

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

     <ProgressBar 
      android:id="@+id/elapsedTimeBar" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

     <TextView 
      android:id="@+id/elapsedTimeText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center" 
      android:text="@string/time_mockup" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 
    </LinearLayout> 

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

     <Button 
      android:id="@+id/next" 
      style="?android:attr/buttonStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:onClick="onNextClick" 
      android:text="@string/next" /> 
    </LinearLayout> 
</LinearLayout> 

這意味着佈局應與周圍欄按鈕和佈局包裹應該有

android:layout_weight="1" 

我不知道爲什麼這種機制是不直觀的,但它的工作原理。