2012-03-31 23 views
4

私はEclipseのプログラミングアンドロイドアプリには全く新しいです。Androidのレイアウト、ボタンのサイズを同じに設定する

これは私が自分自身をインターネット上のコードに基づいていると私のレイアウトのためにこのXMLファイルを思いついたと言いました。 4つのボタンを同じサイズのにすることはできません。他の部分(プログレスバーとその下のテキスト)を使って遊ぶと、バナナが画面に表示されます。

誰かがコードを見直して、何のことを教えてもらえますか?私は単に理解していない。 ここに画像があります。

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あなたは何をしない

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

0dipにあなたのボタンの

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

、すべてにあなたのTableRow(あなたのボタンが含まれているもの)を設定する必要があなたの問題を解決します。しかし、重量パラメータのために、アンドロイドは実際のサイズを測定する作業を行いますので、関連する値を指定する必要はありません。

+0

ありがとうございました。小さな問題が1つしかありません。最後のボタンのテキストが大きすぎるので、2行で表示され、テーブル行に収まるとは思えません。テーブルの行を拡大して、高さを変えますか? –

+0

私は画像を置く、また、テーブル内のレイアウトを削除しましたレイアウト、ちょっと冗長.... –

+0

問題を解決するために、名前をもっと小さく変更しました。問題が何であるかを知っていれば、私は知りたいですが、それが大変な場合には気にしないでください。もう一度感謝します。 –

関連する問題