2011-07-11 20 views
7

Próbuję zrobić stolik z kwadratowymi widokami obrazu (i wszystkie o tym samym rozmiarze). Problem polega na tym, że obrazy mają różną wysokość i szerokość. Stół jest 3x3 i chciałbym: każda komórka ma z = 1/3 szerokości ekranu (być może z wagą układu?) I wysokością = szerokość Znacznie lepiej, jeśli istnieje sposób zdefiniowania tego w xml niż w kodzie. Proszę wyjaśnić, bo im noob w układach ciężarami = ( Dzięki z góry,Obraz kwadratowy z Androidem

Odpowiedz

1

dobrze można również użyć scaleType = fitXY wycisnąć każdy obraz . do wymiarów ImageView za

1

Rozszerzanie imageveiw może być najczystszym rozwiązanie działa to dla mnie:

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); 

    } 

} 

} 

aw xml: