【问题标题】:view full screen image when item from recycler view clicks单击回收站视图中的项目时查看全屏图像
【发布时间】:2018-05-02 04:55:04
【问题描述】:

我是 android 的新手。我有一个 RecyclerView,它显示来自 json 的图像列表。我想在 RecyclerView 中的项目单击时全屏显示图像。它还应该能够放大和缩小。(如画廊).Zooming 功能是使用 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) {

        }
    });


}

我想在这个 onclick 中添加查看全屏的代码。

【问题讨论】:

  • 首先在用户单击项目时获取图像的位图,然后在要显示的下一个活动/或片段上获取该位图,然后在 imageview 上设置该位图。希望你能明白
  • 我可以在不移动到下一个片段/活动的情况下使用对话框显示图像视图吗?
  • 您可以点击此链接获取dilog全屏:stackoverflow.com/questions/6329360/…

标签: android android-layout android-intent android-recyclerview


【解决方案1】:

按照这些步骤进行

像这样创建一个新的 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>

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);
    }


}

当使用 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);
        }
    });

您可以使用PhotoView 进行缩放ImageView

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

【讨论】:

  • 是的。美好的一天尼莱什!
  • 感谢尼勒什!我试试看。
  • @Woods 如果您不使用第三方库进行缩放图像视图androidhive.info/2013/09/… 也可以查看本教程@ 图像视图有自定义类TouchImageView.java 用于缩放
  • 好吧,我已经通过它了。使用库只是为了缩短代码长度,否则我会搞砸的!谢谢。美好的一天尼勒什!
  • @Woods 很乐意为您提供帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-25
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
相关资源
最近更新 更多