如何在java端的网格视图中适当地调整图像视图的大小;安卓



这是我在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;
    }                                                                                      

但是对于较小的机器,layoutParams太大了,有人知道我如何在java端为宽度和高度做(90dp,90dp)吗?

在XML:中创建维度

<dimen name="image_size">90dp</dimen>

然后从你的代码中获取:

int size = (int) getResources().getDimension(R.dimen.image_size);
v.setLayoutParams(new GridView.LayoutParams(size, size));

您还可以通过创建不同的values文件夹,根据屏幕大小设置不同的尺寸。

例如,将一个大尺寸放在名为values-w600dp的文件夹中(如果屏幕宽度大于或等于600dp,则会使用该文件夹),将较小尺寸放在简单的values文件夹中(将有两个dimens.xml文件)。

您可以在文档中找到更多详细信息。

相关内容

  • 没有找到相关文章

最新更新