2010-08-22 11 views
3

J'ai créé une boîte de dialogue personnalisée dans laquelle je place dynamiquement des vues via un RelativeLayout. Chaque fois que la boîte de dialogue est affichée, toutes les vues enfant sont superbes, mais il y a de l'espace en haut que je ne peux pas prendre en compte. Je suppose que c'est réservé pour un "titre" du dialogue (que je n'aurai pas). Y a-t-il un moyen de supprimer cet espace et de faire en sorte que ma boîte de dialogue personnalisée n'englobe que le contenu que je mets en place?Supprimer l'immobilier supplémentaire du haut de la boîte de dialogue personnalisée

ici est le xml pour la mise en page:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 
    <RelativeLayout 
    android:id="@+id/handlay" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" /> 
</LinearLayout> 

soit dit en passant, j'ai essayé juste d'avoir la disposition relative soit le nœud parent, avec les mêmes résultats.

Voici le fichier .java pour le dialogue personnalisé.

public class HandResults extends Dialog implements DialogInterface { 
    HandResults hr; 
    Timer myTimer; 
    RelativeLayout handrl; 


    // constructor sets the layout view to handresult layout 
    public HandResults(Context context) { 
     super(context); 
     setContentView(R.layout.handresults); 
     hr = this; 

    } 

    // create a timer to remove the dialog after 3 seconds 
    public void showHands(){ 
     this.show(); 
     myTimer = null; 
     myTimer = new Timer(); 
     myTimer.schedule(new TimerTask() { 
      @Override 
      public void run() { 
       hr.cancel(); 
      } 
     }, 3000); 

    } 
} 

et voici comment je qualifierais la boîte de dialogue:

HandResults mhr = new HandResults(this); 
mhr.showHands(); 

peu importe ce que je fais ou comment je change le fichier de mise en page, j'ai toujours que le tampon en haut, comment puis-je débarrasser de cela?

Répondre

18

Mettre ce code dans contstructor de classe ou méthode onCreate():

requestWindowFeature(Window.FEATURE_NO_TITLE); 

Il doit être avant d'appeler la méthode de setContentView.

+1

génial .. c'est parfait merci! – Kyle

+0

Cela ne fonctionnait pas pour moi, mais voici une solution qui a fonctionné pour moi: http://stackoverflow.com/a/1693716/445348 – cottonBallPaws

+0

comment puis-je l'écrire dans un adaptateur .. Je ne peux pas accéder à la méthode –