2011-07-11 24 views
7

Estoy tratando de hacer una tabla con imágenes cuadradas (y todas con el mismo tamaño). El problema es que las imágenes tienen diferente altura y ancho. La tabla es 3x3 y me gustaría: cada celda tiene a = 1/3 del ancho de la pantalla (¿quizás con el peso del diseño?) Y altura = ancho Mucho mejor si hay una forma de definir eso en el xml que en el código. favor explicarlo porque soy un novato con diseños pesos = ( Gracias de antemano,Android imageview cuadrado

Respuesta

1

así también se puede utilizar ScaleType = fitXY para exprimir cada imagen . en las dimensiones del ImageView

1

extienden imageveiw podría ser la solución más limpia Esto funciona para mí:

public class Icon extends ImageView { 

public Icon(final Context context) { 
    super(context); 
} 

public Icon(final Context context, final AttributeSet attrs) { 
    super(context, attrs); 
} 

public Icon(final Context context, final AttributeSet attrs, 
     final int defStyle) { 
    super(context, attrs, defStyle); 
} 

@Override 
protected void onMeasure(int width, int height) { 
    super.onMeasure(width, height); 
    int measuredWidth = getMeasuredWidth(); 
    int measuredHeight = getMeasuredHeight(); 
    if (measuredWidth > measuredHeight) { 
     setMeasuredDimension(measuredHeight, measuredHeight); 
    } else { 
     setMeasuredDimension(measuredWidth, measuredWidth); 

    } 

} 

} 

Y en xml:

<com.your_package_name.Icon 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:scaleType="centerCrop" 
    android:src="@drawable/screen" />