0
我有一個GridView,我將ImageView添加到並隨機放置drawable作爲生成網格的資源,如下圖所示。在GridView中對齊和縮放圖像
我想縮放圖像,以便他們之間的唯一差距將是填充,我也想要匹配它之間的間距,列之間的行,使gridView將永遠是一個正方形適合屏幕的寬度(加上邊距)。圖像之間的最小差距將是我設置的填充,所以如果屏幕大或小,圖像將按比例放大或縮小以適應網格視圖的寬度。
那麼我該怎麼做呢?
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF" >
<GridView
android:id="@+id/grid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_centerInParent="true"
android:layout_marginTop="50dp"
android:columnWidth= "50dp"
android:stretchMode="spacingWidthUniform"
android:gravity="center"
android:clickable="true">
</GridView>
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
randomPosition = rng.nextInt(gridSize);
imageView = new ImageView(mContext);
imageView.setPadding(2, 2, 2, 2);
}
else {
imageView = (ImageView) convertView;
}
imgSet();
return imageView;
}
public void imgSet(){
if (diff == 1){
imageView.setImageResource(mThumbIds[randomPosition]);
}
if (diff == 2){
imageView.setImageResource(mThumbIds2[randomPosition]);
}
if (diff == 3){
imageView.setImageResource(mThumbIds3[randomPosition]);
}
}
會有一種方法來匹配網格的高度與寬度? – MDubzem 2014-10-19 01:51:11
我還需要在創建圖像視圖的代碼中設置縮放類型,而不是在xml中,所以我不確定如何設置縮放類型,我看到我想要的類型是合適的中心 – MDubzem 2014-10-19 02:06:33
@MDubzem如果你需要通過代碼設置它使用yourimageview.setScaleType(ScaleType.FIT_XY); [這裏是開發鏈接] http://developer.android.com/reference/android/widget/ImageView.ScaleType.html) – 2014-10-20 07:25:10