单击“ Recyclerview对象”图像视图时,如何显示全屏图像?

时间:2019-02-26 07:44:19

标签: android android-adapter android-fullscreen

这是我在适配器类中提到的ImageViewHolder

public static class ImageTypeViewHolder extends RecyclerView.ViewHolder {
    TextView imageCard_Title,imageCard_Description;
    public ImageView imageCardView;

    public ImageTypeViewHolder(View itemView) {
        super(itemView);
        imageCard_Title=itemView.findViewById(R.id.imagecard_title);
        imageCard_Description=itemView.findViewById(R.id.imagecard_description);
        imageCardView=itemView.findViewById(R.id.imagecard_picture);
    }
}

这是用我的onBindViewHolder编写的代码段

((ImageTypeViewHolder) viewHolder).imageCard_Title.setText(modelObject.getImageCardTitle());
((ImageTypeViewHolder) viewHolder).imageCard_Description.setText(modelObject.getImageCardDescription());
((ImageTypeViewHolder) viewHolder).imageCardView.setImageResource(modelObject.getImageCardUrl());

我想创建一个选项,该选项创建imageview的全屏视图,该视图是RecyclerView项的一部分。

这是我在其中添加imagecard元素的活动中的代码段:

chatList.add(new OustChatModel(1,
            "Sample Image Card",
            R.drawable.app_icon,
            "sample description"));

我想知道如何添加允许图像卡视图以全屏视图打开的操作。

预先感谢

2 个答案:

答案 0 :(得分:0)

在使用自定义适配器的情况下,您在活动/片段中填充了多个查看者,则可以利用接口将数据从片段传递到活动。

我在适配器类中提供了带有定义的方法的接口:

mat-step-header{
  display: flex ;
  justify-content: flex-end ;
}

在此适配器类中定义此接口的对象

public interface onImageClick
{ void onClickImageView(Drawable image);}

并在适配器类的构造函数中声明它:

onImageClick mObject;

现在,在onBindViewHolder()中设置一个OnClickListener

mObject = (onImageClick) this.mCtx;

写在访问回收者视图项的活动/片段中声明的接口方法:

((ImageTypeViewHolder) viewHolder).imageCardView.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        mObject.onClickImageView(((ImageTypeViewHolder) viewHolder).imageCardView.getDrawable());
                    }
                });

答案 1 :(得分:0)

创建全屏图像片段或活动,只需在单击时使用共享元素过渡即可获得精美的动画全屏图像。 使用Android SharedElementTransitions可以轻松完成。

请阅读: SharedElementTransition Guide