use*_*976 4 android gridview sizing
这是我的代码,在我的GridView中放置一些图像装饰
public View getView(int position, View convertView, ViewGroup parent) {
ImageView v;
if(convertView == null) {
v = new ImageView(c);
v.setLayoutParams(new GridView.LayoutParams(90,90));
v.setScaleType(ImageView.ScaleType.CENTER_CROP);
v.setPadding(2, 2, 2, 2);
} else {
v = (ImageView) convertView;
}
v.setImageDrawable(c.getResources().getDrawable(ops[position]));
return v;
}
Run Code Online (Sandbox Code Playgroud)
但对于较小的机器,layoutParams太大了,有没有人知道我如何做(如果(90dp,90dp)的宽度和高度在java方面?
在XML中创建维度:
<dimen name="image_size">90dp</dimen>
Run Code Online (Sandbox Code Playgroud)
然后从你的代码中获取它:
int size = (int) getResources().getDimension(R.dimen.image_size);
v.setLayoutParams(new GridView.LayoutParams(size, size));
Run Code Online (Sandbox Code Playgroud)
您还可以通过创建不同的values文件夹,根据屏幕大小设置不同的尺寸.
例如,将一个较大的维度放在一个名为的文件夹中values-w600dp(如果屏幕的宽度大于或等于600dp将使用该文件夹),并在简单values文件夹中放置一个较小的维度(您将有两个dimens.xml文件).
您将在文档中找到更多详细信息.
| 归档时间: |
|
| 查看次数: |
5001 次 |
| 最近记录: |