2010-09-10 6 views
1

J'essaie de créer un AlertDialog de base en utilisant une activité avec un thème de Theme.Dialog. Cependant, j'ai un problème avec la taille de la boîte de dialogue. Mon XML est actuellement ceci:Theme.Dialog voir les problèmes de taille

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TableLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 
     <TableRow> 
      <View 
       android:background="@drawable/divider_gradient" 
       android:layout_width="fill_parent" 
       android:layout_height="1dip" /> 
     </TableRow> 
     <TableRow> 
      <TextView 
       android:id="@+id/message" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:padding="8dip" /> 
     </TableRow> 
    </TableLayout> 
</LinearLayout> 

Ce que je veux, c'est qu'il y ait une barre horizontale entre le titre et le message. Cependant, la barre n'est pas redimensionnée correctement. Plutôt que d'être la largeur de l'activité, la barre est la largeur du texte du message. Cela signifie que si l'activité est étendue par le message, la barre remplira toute l'activité, de sorte qu'elle semble correcte. Cependant, si la largeur du message est inférieure à la largeur de l'activité, la barre ne s'affiche qu'au-dessus de la partie de l'activité avec le texte. J'ai essayé chaque combinaison de "fill_parent" et "wrap_content" à laquelle je peux penser, et aucun de ces travaux.

J'ai également essayé d'utiliser RelativeLayout et de placer la barre au-dessus du texte du message, mais cela ne fonctionne pas non plus. Si j'utilise l'approche RelativeLayout et définissez la barre sur fill_parent, cela provoque l'expansion de l'activité pour remplir toute la largeur de l'écran, ce qui est également indésirable. Idéalement, je veux placer le texte, calculer la largeur de l'activité et redimensionner la barre à cette largeur (sans l'affecter). Existe-t-il un moyen de marquer une vue pour remplir la vue parent, mais ne pas affecter sa taille? Merci.

Répondre

0

Vous pouvez revenir à la mise en page relative et simplement ajouter un remplissage de ce que vous voulez, donc quand vous dites fill_parent, cela ne remplit pas l'écran. android: padding = "25dip" en tant qu'attribut pour la mise en page relative.

Questions connexes