J'utilise un fichier XML pour définir un dialogue qui est montré à l'utilisateur. J'aimerais pouvoir faire défiler TextViews et EditTexts, mais afficher les boutons OK et Annuler à tout moment. Je n'arrive pas à faire ça. Voici mon fichier Mise en page:Mise en page de boîte de dialogue ne s'affiche pas comme il se doit
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:scrollbars="vertical"
android:scrollbarAlwaysDrawVerticalTrack="true">
<!-- Group Name -->
<TextView android:id="@+id/group_name_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip"
android:layout_marginRight="20dip"
android:text="@string/group_name_view_text"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:id="@+id/group_name_edit"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium" />
<!-- Group Description -->
<TextView android:id="@+id/group_description_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:text="@string/group_description_view_text"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:id="@+id/group_description_edit"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium" />
<!-- Access security -->
<TextView android:id="@+id/access_security_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:text="@string/access_security_view_text"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner android:id="@+id/access_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:gravity="fill_horizontal"
android:drawSelectorOnTop="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
<!-- Communications security -->
<TextView android:id="@+id/communcations_security_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:text="@string/communcations_security_view_text"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner android:id="@+id/communications_spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:gravity="fill_horizontal"
android:drawSelectorOnTop="true"
android:textAppearance="?android:attr/textAppearanceMedium" />
<!-- User -->
<TextView android:id="@+id/username_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:text="@string/username_view_text"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:id="@+id/username_edit"
android:enabled="false"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:textAppearance="?android:attr/textAppearanceMedium" />
<!-- Password -->
<TextView android:id="@+id/password_view"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:text="@string/password_view_text"
android:gravity="left"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText android:id="@+id/password_edit"
android:enabled="false"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_marginLeft="20dip" android:layout_marginRight="20dip"
android:scrollHorizontally="true"
android:autoText="false"
android:capitalize="none"
android:gravity="fill_horizontal"
android:password="true" android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</ScrollView>
<LinearLayout android:layout_height="wrap_content"
android:layout_width="fill_parent" >
<Button android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/ok_text"
android:layout_weight="1" android:id="@+id/group_creator_ok_button">
</Button>
<Button android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/cancel_text"
android:layout_weight="1"
android:id="@+id/group_creator_cancel_button">
</Button>
</LinearLayout>
</LinearLayout>
J'ai étendu la classe de dialogue alors quand onCreate est appelé que j'appelle
setContentView(R.layout.my_layout_file);
Il est juste de me montrer le ScrollView, mais pas la mise en page avec les boutons .. Donc je ne suis même pas capable de pousser les boutons.
Ce n'est pas très indépendant de l'appareil. Que faire si l'écran est 1280 x 800? – DKIT
vous pouvez le faire en obtenant la largeur et la hauteur au moment de l'exécution et définir votre hauteur ScrollView en conséquence –