2012-07-02 17 views
5

Tengo algunas imágenes que tienen una resolución de 320x320.Cómo hacer layout_height y layout_width con el mismo tamaño

Para el layout_width que establezca el valor fill_parent

pero no sé lo que debo establecer para el layout_height

Quiero tener un tamaño igual a la altura y la anchura.

Si fijo layout_height=wrap_content el ancho es dos veces más grande que la altura ...

¿Cómo puedo alto alguna disposición para llenar todo el espacio de x pero para tener el tamaño y al igual que el tamaño de x

+0

¿Por qué no configura 'layout_width' en' wrap_content' también? y luego posicionar la vista donde quieras? – SERPRO

+0

porque eso no es lo que quiero lograr, quiero ser del mismo tamaño para el peso (fill_parent) y tener el mismo tamaño para el eje y que el eje x – Lukap

Respuesta

1

¿Ha intentado establecer explícitamente la layout_height

por ejemplo

android:layout_height="320dip" 
+0

sí, ese es un truco, pero debería apoyar esto para cualquier tamaño de pantalla y densidad – Lukap

1

Desde dentro de su actividad onCreate(...) método, immediatel y después de llamar setContentView(...);

Utilice esta:

ImageView image = (ImageView)findViewById(R.id.image); 
image.getLayoutParams().width = image.getHeight(); 
+0

use este código en onCreate of Activity after setcontentview –

2
DisplayMetrics metrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(metrics); 

int width = metrics.widthPixels; 

ahora establecer la altura dinámicamente usando anchura.

este es el ancho de la pantalla del dispositivo, ya que está utilizando layout_width = fill parent.

1

Si fijo layout_height = wrap_content el ancho es dos veces más grande que la altura ...

Creo que es porque Siempre que sitúe altura/anchura a WRAP_CONTENThace que el diseño tanto de ancho o altura que puede acomodar el fondo de la disposición, las vistas secundarias de la disposición para que crezca aún más grande si se agrega un poco más de niño para el diseño

Y cuando se establece en FILL_PARENT entonces toma toda el área de pantalla izquierda visible.

Soluciones

  1. O se puede dar un cierto tamaño arreglo mediante dp a su disposición, y entonces tendrán que hacer diferente archivo XML para el tamaño de los dispositivos de diff.
  2. puede probar y utilizar los atributos de LinearLayout y layout_weight atributos y administrar el alto y el ancho de su diseño aplicando el peso adecuado. [Recomiendo personalmente usar weight]
Cuestiones relacionadas