[英]How to enlarge an Image in grid View when selected
选择图像后,我想放大它。 我的问题是选择了图像,但没有放大。
我尝试了很多事情,例如以XML放大imageView,但是没有任何效果。
您将在下面的代码选择图像中看到:
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.grid_row, null);
holder = new ViewHolder();
holder.mImageView = (ImageView) convertView.findViewById(R.id.image);
holder.mImageView.setOnClickListener(this);
holder.mImageNone = (ImageView) convertView.findViewById(R.id.image_none);
holder.mImageNone.setOnClickListener(this);
holder.mImageViewSelected = (ImageView) convertView.findViewById(R.id.image_selected);
holder.mImageViewSelected.setOnClickListener(this);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
GridViewData data = mImagePath.get(position);
holder.mImageNone.setTag(data);
holder.mImageViewSelected.setTag(data);
if (data.getSelected()) {
holder.mImageViewSelected.setVisibility(View.VISIBLE);
} else {
holder.mImageViewSelected.setVisibility(View.INVISIBLE);
}
接下来的部分是
public void onClick(View v) {
switch (v.getId()) {
case R.id.image: {
break;
}
case R.id.image_none: {
GridViewData data = (GridViewData) v.getTag();
//
if (data.getSelected()) {
data.setSelcted(false);
} else {
data.setSelcted(true);
}
notifyDataSetChanged();
break;
}
case R.id.image_selected: {
GridViewData data = (GridViewData) v.getTag();
if (data.getSelected()) {
data.setSelcted(false);
} else {
data.setSelcted(true);
}
notifyDataSetChanged();
break;
在您的onClickListener中添加以下内容:
imageView.animate().scaleX(1.1).scaleY(1.1f)
//这表示当您选择此图片时,它将被放大。 用您的Imageview名称替换imageview
在ViewHolder视图绑定方法中,不要伪造添加“ if,else”来检查是否选中了它,并设置所选项目的比例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.