我使用 GridView 来显示提要。如果条目有背景图像,则从设备或服务器加载图像。我的问题是,当加载图像时,gridview 的项目会扩展以容纳图像。我希望图像按比例缩小以适合盒子。
我尝试使用具有各种比例类型的 ImageView 并使用视图的背景。似乎没有任何效果。有任何想法吗?
我发现的答案是,当我膨胀 XML 时,我正在使用:
LayoutInflater.from(context).inflate(R.layout.item, null)
代替
LayoutInflater.from(context).inflate(R.layout.item, container, false);
如果你使用第一个,膨胀的视图和容器不通信,所以视图的“layout_XXX”属性被忽略。
Gridview 就像任何其他布局一样需要定义边界,否则它将根据内容进行调整。由于您的图像很可能具有不同的大小,因此您需要明确此边界。假设您正在为您的 gridview 使用自定义适配器,那么在 getView 中设置以下内容可能会解决您的问题:
imgView.setLayoutParams(new GridView.LayoutParams(100,100));