选择后如何在网格视图中放大图像

时间:2019-04-25 09:26:00

标签: java android

我想在选择图像时放大它。 我的问题是选择了图像,但没有放大。

我尝试了很多事情,例如以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;

1 个答案:

答案 0 :(得分:0)

在您的onClickListener中添加类似的内容:
imageView.animate().scaleX(1.1).scaleY(1.1f)

//这意味着当您选择此图像时,它将被放大。用您的Imageview名称替换imageview

并且在ViewHolder视图绑定方法中不会伪造添加“ if,else”以检查是否已选中它,并设置所选项目的比例。