繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM