我是eclipse中编写Android应用程序的新手。
话虽如此,我依靠互联网上的代码,并为我的布局提出了这个xml文件。 我不能让四个按钮具有相同的尺寸,当我玩其他部分,进度条和它下面的文本时,它们会变成香蕉,在屏幕上显示。
有人可以查看代码并告诉我什么是锣?我根本就不明白。 这是一张照片。
<?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>
编辑:
它现在几乎可以运作。
<?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>
答案 0 :(得分:11)
您的布局并非真正“高效”。但无论如何......要解决您的问题,您必须将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没有做任何事情。但是由于权重param android无论如何都会测量实际大小,所以你不需要提供“相关”值