2012-03-31 6 views
4

Я совершенно не знаком с программированием приложений для Android в eclipse.Расположение 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

Большое спасибо, это сработало. Есть только одна небольшая проблема, которая заключается в том, что текст в последней кнопке слишком велик, поэтому он отображается в двух строках, и я не думаю, что он вписывается в мою таблицу. Знаете ли вы, как я могу увеличить мой стол, изменить высоту? –

+0

Я положил картинку, также удалил tableLayout внутри tableLayout, вроде бы избыточно .... –

+0

Чтобы устранить проблему, я сменил имя на что-то меньшее. Если вы знаете, в чем проблема, я бы с удовольствием узнал, но не беспокойтесь, если это будет много неприятностей, спасибо снова. –

Смежные вопросы