这是一个简单的问题,但我无法得到答案。 我希望网格图像根据设备屏幕调整大小。
我将Gridview定义为
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" android:background="#111111">
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:verticalSpacing="10dip"
android:horizontalSpacing="10dp" android:numColumns="auto_fit"
android:stretchMode="columnWidth" android:listSelector="@null"
android:layout_below="@+id/text1view" android:layout_marginTop="10dip"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
在我正在做的适配器中:
imageView = new ImageView(mContext);
// imageView.setImageResource(mThumbIds[position]);
imageView.setLayoutParams(new GridView.LayoutParams(150, 150));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setOnClickListener(new View.OnClickListener() {`
非常感谢您的时间和回答。
答案 0 :(得分:0)
imageView = new ImageView(mContext);
if (activity.getResources().getDisplayMetrics().densityDpi > 200) {
// imageView.setImageResource(mThumbIds[position]);
imageView.setLayoutParams(new GridView.LayoutParams(150, 150));
}
else{
// imageView.setImageResource(mThumbIds[position]);
imageView.setLayoutParams(new GridView.LayoutParams(100, 100));
}
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setOnClickListener(new View.OnClickListener()
答案 1 :(得分:0)
几年后......
要稍微扩展fr4n给出的答案,您可以在整数资源xml中定义图像大小值,然后将不同的值放在限定的“values-xxx”资源文件夹中。
e.g。 values-mdpi等。
或者如果是android 3.2或更高版本
values-sw300dp等。
整数大小= getResources()。getInteger(R.int.image_size));
imageView.setLayoutParams(new GridView.LayoutParams(size,size));
(从内存编码,因此无法保证语法100%正确)