2010-01-29 16 views
14

J'ai créé une activité non maximisée en utilisant android: theme = "@ android: style/Theme.Dialog" pour faire ressembler un dialogue. Je dois changer la position de l'activité à l'écran, mais je ne trouve pas comment faire ...position de l'activité de dialogue android

Répondre

3

Créer un thème personnalisé avec Theme.Dialog comme parent:

<style name="CustomDialogTheme" parent="@android:style/Theme.Dialog"> 

Ainsi, pour chaque article Dans le thème Dialogue que vous souhaitez modifier, utilisez CustomDialogTheme au lieu de Theme.Dialog dans le manifeste Android. Voir the android developper docs pour plus de détails.

+3

Je pense, il veut changer la position du dialogue !!!! – Farhan

22

Pour modifier la position (avec le thème défini sur Theme.Dialog), vous pouvez remplacer la gravité, la taille et les coordonnées des LayoutParams de la vue de décor de votre activité après qu'elle ait été attachée à la fenêtre. Voici un exemple:

@Override 
public void onAttachedToWindow() { 
    super.onAttachedToWindow(); 

    View view = getWindow().getDecorView(); 
    WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams(); 
    lp.gravity = Gravity.LEFT | Gravity.TOP; 
    lp.x = 10; 
    lp.y = 10; 
    lp.width = 300; 
    lp.height = 300; 
    getWindowManager().updateViewLayout(view, lp); 
} 
1

utilisation .setGravity()

progDialog = ProgressDialog.show();

progDialog.getWindow(). SetGravité (Gravity.BOTTOM);