Comment puis-je faire de mon android dialogue plein écran?
J'ai déjà essayé toutes les choses que j'ai pu trouver (sur stackoverflow et sur le net) mais j'ai un peu ne peut pas définir mon boîte de dialogue pour le plein écran. Il a une scrollview avec un textview, et quand il n'y a pas beaucoup de texte dans le textview la scrollview n'est pas en plein écran. Comment puis-je le forcer à être en plein écran, même quand il n'y a pas beaucoup de texte visible ?
J'ai créer la boîte de dialogue comme ceci:
final TextView box;
final Dialog info = new Dialog(cx);
final ScrollView scroll;
info.setContentView(R.layout.dialoginfo);
info.setTitle("Info");
info.setCancelable(true);
info.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
scroll = ((ScrollView) info.findViewById(R.id.scrollviewinfo));
scroll.setPersistentDrawingCache(ScrollView.PERSISTENT_NO_CACHE);
scroll.setScrollbarFadingEnabled(false);
box = (TextView) info.findViewById(R.id.infotext);
box.setText(text);
info.show();
C'est le xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/infolayout"
>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ImageView01"
android:layout_weight="1.0"
android:id="@+id/scrollviewinfo">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/infolayout2">
<TextView android:layout_margin="5dip" android:layout_width="fill_parent" android:layout_height="wrap_content"
android:id="@+id/infotext"
android:textSize="8sp"
android:text=""/>
</LinearLayout>
</ScrollView>
</LinearLayout>
OriginalL'auteur HardCoder | 2012-05-01
Vous devez vous connecter pour publier un commentaire.
Il ressemble à la ScrollView a sa hauteur définie à
wrap_content
, j'aimerais tout d'abord essayer de la remplacer parfill_parent
.Voici quelques ressources qui pourraient vous aider:
Comment puis-je obtenir une boîte de Dialogue style de l'activité de la fenêtre pour remplir l'écran?
Je n'ai jamais utilisé le
setFlags()
méthode, si cela peut vous donner les mêmes résultats. Fondamentalement, essayez de remplacerinfo.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
avec
info.getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
Alternativement, si vous voulez un contrôle plus précis de la hauteur, vous pouvez créer une instance de mise en page paramètres, comme la première réponse ici décrit:
Comment faire une boîte de dialogue d'alerte de remplissage de 90% de la taille de l'écran?
Vous pouvez également utiliser ce code pour obtenir la taille de l'écran, si vous souhaitez le modifier pour être légèrement plus petit que le plein écran.
Il y a pas mal d'autres façons d'obtenir le courant de la taille de l'écran, trop, c'est juste un exemple. Bonne chance!
OriginalL'auteur MattDavis
Avez-vous essayé de réglage layout_height de la ScrollView "match_parent" (et vous pouvez définir le LinearLayout "match_parent" trop, bien que je ne pense pas que c'est nécessaire)?. Je devine qu'il se rétracte lorsqu'il n'y a pas beaucoup de texte car il est réglé sur "wrap_content". Essayez ceci:
OriginalL'auteur Gophermofur
Essayer d'emballage de votre boîte de dialogue mise en page personnalisée en RelativeLayout au lieu de Linéaire de Mise en page. Ce qui a fonctionné pour moi.
Bien sûr,Serait de garder cela à l'esprit.
OriginalL'auteur Ayan