2012-03-31 96 views
4

我是完全新的編程eclipse中的android應用程序。Android佈局,設置按鈕具有相同的大小

就這樣說,我基於自己的代碼在互聯網上,並提出了我的佈局這個XML文件。 我無法獲得四個按鈕尺寸相同的尺寸,當我使用其他部件,進度條和文本下的其他部件時,他們會轉動香蕉,並將其顯示在屏幕外。

有人可能會檢查代碼並告訴我什麼是鑼?我根本不明白。 這是一張圖片。

enter image description here

<?xml version="1.0" encoding="UTF-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tableLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="10dp" > 

     <TextView 
      android:id="@+id/txt_currentDate" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_span="6" 
      android:gravity="center" 
      android:text="Current Date" 
      android:textSize="18dp" 
      android:textStyle="bold" 
      android:typeface="serif" > 
     </TextView> 
    </TableRow> 

    <TableRow 
     android:id="@+id/progressBarRow" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="5dp" > 

     <ProgressBar 
      android:id="@+id/DailyCalorieProgress" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_span="3" 
      android:progress="80" /> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="5dp" > 

     <TextView 
      android:id="@+id/textView1" 
      android:gravity="center" 
      android:text="Calorie Limit : " 
      android:textStyle="bold" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView2" 
      android:gravity="center" 
      android:text="2000 " > 
     </TextView> 

     <TextView 
      android:id="@+id/textView3" 
      android:gravity="center" 
      android:text="Calories Left : " 
      android:textStyle="bold" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView4" 
      android:gravity="center" 
      android:text="552" > 
     </TextView> 
    </TableRow> 

    <TextView 
     android:id="@+id/textView5" 
     android:gravity="center_horizontal" 
     android:text="____________________" > 
    </TextView> 

    <TableLayout 
     android:id="@+id/ButtonLayout" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:padding="5dp" 
     android:stretchColumns="0,1" > 

     <TableRow 
      android:id="@+id/buttonRow1" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center" 
      android:orientation="horizontal" 
      android:paddingTop="10dp" > 

     <Button 
      android:id="@+id/btn_addFood" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:padding="5dp" 
      android:text="Add Food"/> 

     <Button 
      android:id="@+id/btn_addExercise" 
      android:layout_width="130dp" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
      android:padding="5dp" 
      android:text="Add Exercise"/> 

     </TableRow> 

     <TableRow 
      android:id="@+id/buttonRow2" 
      android:layout_width="wrap_content" 
      android:layout_height="fill_parent" 
      android:orientation="horizontal" > 

     <Button 
      android:id="@+id/btn_recWeight" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" 
      android:text="Record Weight" /> 

     <Button 
      android:id="@+id/btn_sgstMeal" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:padding="5dp" 
      android:text="Suggest Meal/Exercise" /> 

    </TableRow> 
    </TableLayout> 
</TableLayout> 

編輯:

現在幾乎工作。

enter image description here

<?xml version="1.0" encoding="UTF-8"?> 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tableLayout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <TableRow 
     android:id="@+id/tableRow1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="10dp" > 

     <TextView 
      android:id="@+id/txt_currentDate" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_span="6" 
      android:gravity="center" 
      android:text="@string/CurrentDate" 
      android:textSize="18dp" 
      android:textStyle="bold" 
      android:typeface="serif" > 
     </TextView> 
    </TableRow> 

    <TableRow 
     android:id="@+id/progressBarRow" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="5dp" > 

     <ProgressBar 
      android:id="@+id/DailyCalorieProgress" 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_span="3" 
      android:progress="80" /> 

    </TableRow> 

    <TableRow 
     android:id="@+id/tableRow3" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center_horizontal" 
     android:paddingTop="5dp" > 

     <TextView 
      android:id="@+id/textView1" 
      android:gravity="center" 
      android:text="@string/CalorieLimit" 
      android:textStyle="bold" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView2" 
      android:gravity="center" 
      android:text="@string/CalorieLimitData" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView3" 
      android:gravity="center" 
      android:text="@string/CaloriesLeft" 
      android:textStyle="bold" > 
     </TextView> 

     <TextView 
      android:id="@+id/textView4" 
      android:gravity="center" 
      android:text="@string/CaloriesLeftData" > 
     </TextView> 
    </TableRow> 

    <TextView 
     android:id="@+id/textView5" 
     android:gravity="center_horizontal" 
     android:text="@string/Line" > 
    </TextView> 



     <TableRow 
      android:id="@+id/buttonRow1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:orientation="horizontal" 
      android:paddingTop="10dp" > 

     <Button 
      android:id="@+id/btn_addFood" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:padding="5dp" 
      android:text="@string/AddFood"/> 

     <Button 
      android:id="@+id/btn_addExercise" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:padding="5dp" 
      android:text="@string/AddExercise"/> 

     </TableRow> 

     <TableRow 
      android:id="@+id/buttonRow2" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:orientation="horizontal" 
      android:paddingTop="10dp" > 

     <Button 
      android:id="@+id/btn_recWeight" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:padding="5dp" 
      android:text="@string/RecordWeight" /> 

     <Button 
      android:id="@+id/btn_sgstMeal" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:padding="5dp" 
      android:text="@string/SuggestedMeal_Exercise" /> 

    </TableRow> 
</TableLayout> 

回答

11

您的佈局是不是真正的 「高效」。但anyway..to解決你的問題,你有你的TableRow(包含您的按鈕的)設置爲

android:layout_width="fill_parent" 
android:layout_height="wrap_content" 

和所有的按鈕來

android:layout_width="0dip" 
android:layout_height="wrap_content" 
android:layout_weight="1" 

0dip沒有做任何事情。但由於重量參數安卓系統做的測量實際大小的工作無論如何,所以你不需要提供一個「相關」的價值

+0

非常感謝,它的工作。只有一個小問題,就是最後一個按鈕中的文本太大,所以它顯示爲兩行,我認爲它不適合我的表格行......你知道我可以怎麼做嗎?放大我的表格行,改變高度? – 2012-04-01 00:00:38

+0

我放了一張圖片,同時刪除了tableLayout裏面的tableLayout,有點多餘.... – 2012-04-01 00:15:13

+0

爲了解決這個問題,我把名字改成了更小的東西。如果你知道問題是什麼,我很想知道,但是如果遇到很多麻煩,請不要煩惱,再次感謝。 – 2012-04-01 00:23:42