0
我很感激,如果有人可以建议在下面。调整GridView与ImageViews到不同的屏幕尺寸,Android
我GridView
有3列,将被填充ImageViews:
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/grid_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:numColumns="3"
android:columnWidth="0.3dp"
android:horizontalSpacing="20dp"
android:verticalSpacing="20dp"
android:stretchMode="columnWidth">
</GridView>
,增加了ImageViews
到网格单元的适配器:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds.get(position));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setLayoutParams(new GridView.LayoutParams(300, 300));//problem here
return imageView;
}
我的图片的所有尺寸358x385px的。
它可以在更大的屏幕不错,但未能在较小的(例如4" ,800×480)。 我不知道如何设置LayoutParams
要像屏幕宽度的1/3和高度形成广场。
我不希望有合适的尺寸不同的屏幕密度增加更多的图片,而不是我想调整ImageViews
只。
尝试设置保证金的价值左 - 右和horizontalSpacing,verticalSpacing通过值不硬编码PLUS更改图像视图属性imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);到FIT_XY。 – Radhey
@Radhey,ImageView的大小应该形成一个正方形? –
这取决于你的应用程序屏幕,你必须为你的图像视图的宽度和高度计算比例并将其设置到不同的值文件夹,然后访问它们的值不直接把它(300,300),用于计算参考不同文件夹的ic_launcher图标。 – Radhey