Cómo establecer el porcentaje de ancho para una actividad de diálogo con temas

Tengo una actividad con un tema de diálogo ( Theme.Holo.DialogWhenLarge ). Parece demasiado estrecho, y me gustaría que llenara un porcentaje mayor de la pantalla. Estoy tratando de lograr esto mediante la sustitución de los atributos windowMinWidthMinor y windowMinWidthMajor .

El tema utilizado por mi Actividad es así …

 <style name="MyTheme" parent="@android:style/Theme.Holo.DialogWhenLarge"> <item name="android:windowMinWidthMajor">90%</item> <item name="android:windowMinWidthMinor">90%</item> </style> 

Sin embargo, parece que la windowMinWidthMajor y windowMinWidthMinor no tienen ningún efecto. ¿Alguien puede explicar lo que estoy haciendo mal?

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //Some code here setWindowHeight(90); } /** * Set percentage width height * @param percent percent from current size. From 0 to 100. */ private void setWindowHeight(int percent){ DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int screenHeight = metrics.heightPixels; WindowManager.LayoutParams params = getWindow().getAttributes(); params.height = (int)(screenHeight*percent/100); this.getWindow().setAttributes(params); } 

Es imposible establecer porcentajes para Android, pero hay un camino alrededor. Lo que he hecho es obtener el ancho de la pantalla y multiplicarlo por el porcentaje que quiero que mi vista o elemento a ser (ejemplo: si quiero algo para llenar el 40% de la anchura si sería Screen-Width * 0.4)

  • Crear Sub Menú en Android a través de código
  • Causado por: java.lang.UnsupportedOperationException: No se puede convertir a dimension: type = 0x1
  • ¿Hay algún evento disparado cuando Android View se vuelve visible en la aplicación?
  • Disposición del paisaje de Android
  • Mejor manera: Guardar y restaurar la posición de TextView en ScrollView
  • La vista horizontal del reciclador no muestra nada
  • EditText - Intervalo entre el texto y la línea de EditText
  • ¿Cómo puedo arreglar el estilo Spinner para Android 4.x colocado en la parte superior de la barra de herramientas
  • Deshabilitar el teclado virtual en NumberPicker
  • No se puede cambiar el tamaño de RelativeLayout dentro de ScrollView para llenar toda la pantalla
  • Deshabilitar las teclas DPAD en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.