单击“回收者”视图中的项目时,查看全屏图像

anj*_*son 0 android android-intent android-layout android-recyclerview

我是android的新手,我有一个RecyclerView可以显示json的图像列表。我想在RecyclerView的项目单击时做到全屏显示图像,而且应该可以放大和缩小。功能是使用Photoview Library完成的,但是无法全屏查看项目。下面附有适配器类代码。请任何人帮助我执行此操作。

 @Override
 public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    final MyHolder myHolder = (MyHolder) holder;
    DataFish current = data.get(position);

    // load image into imageview using glide
    Glide.with(context).load(current.flagimage)
            .placeholder(R.drawable.ic_launcher_background)
            .error(R.drawable.ic_launcher_background)
            .into(myHolder.imageView);
    myHolder.imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });


}
Run Code Online (Sandbox Code Playgroud)

我想在此onclick中添加用于全屏查看的代码。

Nil*_*hod 6

遵循这个步骤

像这样创建一个新的Activity并获取URL

布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ImageView
        android:id="@+id/myImage"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:adjustViewBounds="true"
        android:scaleType="fitXY" />

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

Activity.java

public class MainActivity extends AppCompatActivity {


    ImageView myImage;
    String url = "";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        url = getIntent().getStringExtra("image_url");

        myImage = findViewById(R.id.myImage);
        Glide.with(this).load(url)
                .placeholder(R.drawable.ic_launcher_background)
                .error(R.drawable.ic_launcher_background)
                .into(myImage);
    }


}
Run Code Online (Sandbox Code Playgroud)

当使用click om recyclerview项时,使用意图将URL传递给该活动

 myHolder.imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent= new Intent(context,MainActivity.this);
            intent.putExtra("image_url",current.flagimage);
            context.startActivity(intent);
        }
    });
Run Code Online (Sandbox Code Playgroud)

您可以PhotoView用于缩放 ImageView

PhotoView旨在帮助产生易于使用的缩放的Android实现ImageView