2011-06-30 149 views
0

我想設計一個簡單的佈局,其中包含2個按鈕,位於頁面底部的水平線性佈局中(所以layout_gravity =「bottom」)。我還需要一個以屏幕爲中心的垂直線性佈局,它可以容納3個TextView(稍後在程序中實現,因此只需要一個LinearLayout即可放置3個TextView)。佈局幫助,消失LinearLayouts

我可以將按鈕放到正確的位置(儘管我希望它們更加分離),但是每次我嘗試製作TextViews LinearLayout時,它都不會出現,或者使其他按鈕消失。我一直試圖讓這一段時間...任何人都可以幫忙嗎?由於

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="horizontal" 
android:background="@color/background"> 
<LinearLayout 
    android:id="@+id/game_layout" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_gravity="bottom" 
    android:layout_margin="100dip"> 
    <Button 
     android:id="@+id/next_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/next_label" 
     android:layout_gravity="center"/> 
    <Button 
     android:id="@+id/repeat_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/repeat_label" 
     android:layout_gravity="center"/> 
</LinearLayout> 
<LinearLayout 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:layout_gravity="center" 
    android:layout_weight="1"> 
</LinearLayout> 
</LinearLayout> 
+0

沒有答案真的是爲我工作的...仍在試圖弄清楚 – lespommes

回答

1
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <LinearLayout android:id="@+id/linearLayout2" 
     android:layout_width="match_parent" android:orientation="vertical" 
     android:layout_height="wrap_content" android:layout_weight="1" 
     android:gravity="center"> 
    </LinearLayout> 
    <LinearLayout android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" android:layout_height="wrap_content" 
     android:layout_gravity="bottom" android:gravity="center"> 
     <Button android:text="Button" android:id="@+id/button1" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
     <Button android:text="Button" android:id="@+id/button2" 
      android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
    </LinearLayout> 
</LinearLayout> 

linearlayout2是垂直佈局與定位在中心

孩子是你需要什麼?

enter image description here

EditText與「一些文本」的值通過Java既LayoutParams組添加到WRAP_CONTENT

+0

就是這樣,男人謝謝大家 – lespommes

0

快速的想法:

設置垂直LinearLayout的高度0dp,並使用weight給它的所有剩餘空間,其餘的另一種觀點後襬出來,例如給它android:layout_weight="1"

棘手的部分是需要將高度設置爲0,因此它實際上使用layout_weight

警告:現在很晚,我喝了幾杯酒。 :)

0

確保將水平LinearLayout的高度設置爲wrap_content。 你也可以採取RelativeLayout和保持兩個LinearLayout分別垂直和水平方向。

這段代碼就足夠了:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/background"> 
    <LinearLayout 
     android:id="@+id/game_layout" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:layout_alignparentbottom="true" 
     android:layout_margin="100dip"> 
     <Button 
      android:id="@+id/next_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/next_label" 
      android:layout_gravity="center"/> 
     <Button 
      android:id="@+id/repeat_button" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/repeat_label" 
      android:layout_gravity="center"/> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:layout_centerinparent="true" 
     android:layout_weight="1"> 
    </LinearLayout> 
</RelativeLayout> 

警告:性能的外殼可能是不同的,所以糾正它們。

+0

做什麼你的意思是相對佈局?我有點困惑......我的代碼只是使textview佈局變得混亂...... – lespommes

+0

與線性佈局一樣,還有另一種佈局,名爲相對佈局,允許用戶根據便利安排控件。它提供了諸如「 layout_alignleftof「等等。我在我的答案中增加了一個參考,你通過它。 – Shaireen

+0

我會看看我能做什麼,謝謝,這有點令人困惑 – lespommes