J'ai un problème d'interface utilisateur Android que je ne suis pas sûr de savoir comment résoudre. J'ai un tabhost avec quelques éléments différents dessus. Dans un cas, les champs ajoutés à un scrollView (qui est sur l'un des onglets) seront ajoutés dynamiquement. J'ai un bouton en bas de l'écran, en utilisant une disposition relative. Le problème est que le scrollview (et la disposition linéaire de l'autre onglet) s'étend au-delà du bouton du bas. Il en résulte que le champ final sur l'écran ne peut pas être visualisé, car il est masqué par le bouton. Voici une capture d'écran du problème ainsi que le fichier XML pour mes mises en page. Toute aide est grandement appréciée. Mise en page relative sur un TabHost?
La mise en page principale:
<?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>
La disposition des onglets supplémentaires:
<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>
Vous venez est devenu mon héros. Je vous remercie! –
Il y a une faute de frappe à la ligne 17. – Javide
@javid: Correction, merci :) – OcuS