Comment garder les boutons positifs / négatifs de DialogFragment au-dessus du clavier virtuel
Je suis à l'aide d'un DialogFragment. Je veux le positif et le négatif boutons de rester au-dessus du clavier lorsque l'utilisateur interagit avec un modifier le texte comme dans l'exemple les photos ci-dessous à partir d'un écran dans le Gmail l'application pour tablette.
Dans ma tentative qui ne fonctionne pas, voici mon Dialogue Fragments onCreateDialog méthode
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
LayoutInflater factory = LayoutInflater.from(getActivity());
final View textEntryView = factory.inflate(R.layout.my_layout, null);
return new AlertDialog.Builder(getActivity())
.setTitle(getString(R.string.paypal))
.setView(textEntryView)
.setPositiveButton(R.string.dialog_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
}
)
.setNegativeButton(R.string.dialog_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
}
)
.create();
}
et voici le R. layout.my_layout
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical">
<ImageView android:id="@+id/paypal_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dip"
android:layout_marginBottom="15dip"
/>
<EditText
android:id="@+id/edit_paypal_email"
style="@style/GeneralEditText"
android:hint="@string/contact_info_text_email"
android:inputType="textEmailAddress"
/>
<View
android:id="@id/horizontal_line"
style="@style/HorizontalLine"
android:layout_marginTop="@dimen/contact_info_line_margin_top" />
<!-- Notes -->
<TextView
android:text="@string/paypal_info1"
style="@style/ContactInfoNotes"
android:paddingBottom="5dip"
/>
<TextView
android:text="@string/paypal_info2"
style="@style/ContactInfoNotes"
android:paddingBottom="5dip"
/>
<TextView
android:text="@string/paypal_info3"
style="@style/ContactInfoNotes"
android:paddingBottom="5dip"
/>
<TextView
android:text="@string/paypal_info4"
style="@style/ContactInfoNotes"
android:paddingBottom="5dip"
/>
</LinearLayout>
</ScrollView>
Dans mon application, le clavier est en place et couvre les dialogues positifs et négatifs des boutons. Ce qui me manque pour permettre les boutons de rester au-dessus du clavier?
Merci d'avance.
source d'informationauteur Dittimon
Vous devez vous connecter pour publier un commentaire.
Juste ajouter ceci sur votre onViewCreated:
J'ai eu le même problème, et j'ai trouvé une solution. La partie essentielle de la mise en page du fichier:
Donc, vous devez configurer les boutons " layout_weight 0, tandis que le scrollview poids est de 1 ou plus.
J'espère que cela aidera.
Je crois que cela a à voir avec la
LinearLayout
etScrollView
. Supprimer la fillViewport partie de la ScrollView et afficher la barre de défilement dans le LinearLayout.Avez-vous essayé d'ajouter l'attribut suivant à la
activity
balise dans votre manifeste?C'est ce qui a fonctionné pour moi.