java设置imageview图片大小_java - 如何调整图像大小以适合gridview上的imageview?

在GridView中适配ImageView图片大小时遇到问题,导致`ClassCastException`。代码中尝试通过获取LinearLayout参数来设置GridView中ImageView的大小,但应使用GridView.LayoutParams。解决方案是更改布局参数为LinearLayout.LayoutParams。
摘要由CSDN通过智能技术生成

我想将图片调整为下面捕获的屏幕截图。但是,我不知道如何解决此错误。有人可以帮我吗?java.lang.ClassCastException: android.widget.AbsListView$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

GridViewAdapter.java

public View getView(int position, View convertView, ViewGroup parent) {

View row = convertView;

ViewHolder holder;

if (row == null) {

LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();

row = inflater.inflate(layoutResourceId, parent, false);

holder = new ViewHolder();

// holder.titleTextView = (TextView) row.findViewById(R.id.grid_item_title);

holder.imageView = (ImageView) row.findViewById(R.id.grid_item_image);

DisplayMetrics metrics = mContext.getResources().getDisplayMetrics();

int width = metrics.widthPixels / 3;

int height = metrics.heightPixels / 5;

holder.imageView.setLayoutParams(new GridView.LayoutParams(width, height));

holder.imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);

row.setTag(holder);

} else {

holder = (ViewHolder) row.getTag();

}

GridItem item = mGridData.get(position);

// holder.titleTextView.setText(Html.fromHtml(item.getTitle()));

Picasso.with(mContext).load(item.getImage()).into(holder.imageView);

return row;

}

grid_item_layout.xml

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="5dp"

android:background="@drawable/grid_color_selector"

android:orientation="vertical"

android:padding="5dp">

android:id="@+id/grid_item_image"

android:layout_width="100dp"

android:scaleType="fitCenter"

android:layout_height="100dp" />

最佳答案

将Gridlayout更改为Linearlayoutholder.imageView.setLayoutParams(new LinearLayout.LayoutParams(width, height));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值