我有一个 Android UI问题,我不太清楚如何解决.我有一个tabhost,上面有几个不同的项目.在一种情况下,将动态添加添加到scrollView(位于其中一个选项卡上)的字段.我在屏幕底部有一个按钮,使用
主要布局:
<?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/background_nologo" > <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="5dp" > <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" /> <View android:layout_width="fill_parent" android:layout_height="2dip"/> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <include layout="@layout/mc_message_send_tab_details"/> <!-- Scrollview for message data --> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:scrollbars="vertical" android:id="@+id/formTab"> <!-- Form fields are automatically created in McMessageViewActivity. --> <LinearLayout android:id="@+id/formLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <View android:layout_width="fill_parent" android:layout_height="5dip"/> </LinearLayout> </ScrollView> </FrameLayout> </LinearLayout> <RelativeLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_alignParentBottom="true" > <Button android:text="Send" android:id="@+id/btnSend" android:layout_weight="1" android:layout_height="wrap_content" android:layout_width="0px"/> </LinearLayout> </RelativeLayout> </TabHost>
附加标签布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/detailsTab"> <TableLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1"> <View android:layout_width="fill_parent" android:layout_height="10dip"/> <TableRow> <TextView android:text="Unit #" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <Spinner android:id="@+id/unitNumber" android:text="" android:padding="3dip" android:layout_marginRight="2sp"/> </TableRow> <TableRow> <TextView android:text="User ID" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <EditText android:id="@+id/userId" android:text="" android:padding="3dip" android:layout_marginRight="2sp" /> </TableRow> <TableRow> <TextView android:text="Form #" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <Spinner android:id="@+id/formNumber" android:text="" android:padding="3dip" android:layout_marginRight="2sp" /> </TableRow> <TableRow> <TextView android:text="Sending status" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <EditText android:id="@+id/sendingStatus" android:text="" android:padding="3dip" android:layout_marginRight="2sp"/> </TableRow> <TableRow> <TextView android:text="Delivery priority" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <EditText android:id="@+id/priority" android:text="" android:padding="3dip" android:layout_marginRight="2sp"/> </TableRow> <TableRow> <TextView android:text="Request reply" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <CheckBox android:id="@+id/requestReply" android:padding="3dip" android:layout_marginRight="2sp" /> </TableRow> <TableRow> <TextView android:text="Receipt conf" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <CheckBox android:id="@+id/receiptConfirmation" android:padding="3dip" android:layout_marginRight="2sp" /> </TableRow> </TableLayout> </LinearLayout>您的主要问题是由于TabHost扩展了FrameLayout.这就是你在主布局上使用最后一个RelativeLayout的原因.你试图欺骗,你输了……