2010-01-29 12 views
14

Creé una actividad no maximizada usando android: theme = "@ android: style/Theme.Dialog" para que parezca un diálogo. Tengo que cambiar la posición de la actividad en pantalla, pero no he encontrado la manera de hacer esto ...android dialog activity position

Respuesta

3

crear un tema personalizado con Theme.Dialog como su padre:

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

Así, para cada elemento en el tema Dialog que desea cambiar, use CustomDialogTheme en lugar de Theme.Dialog dentro del Manifiesto de Android. Ver the android developper docs para más detalles.

+3

creo, él quiere cambiar la posición del diálogo !!!! – Farhan

22

Para cambiar la posición (con el tema establecido en Theme.Dialog), puede anular la gravedad, el tamaño y las coordenadas de LayoutParams de la decoración de su actividad después de que se haya adjuntado a la ventana. Aquí está un ejemplo:

@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

Uso .setGravity()

progDialog = ProgressDialog.show();

progDialog.getWindow(). SetGravity (Gravity.BOTTOM);