单击回收站视图中的项目时查看全屏图像 [英] view full screen image when item from recycler view clicks
问题描述
我是 android 新手.我有一个 RecyclerView,它显示来自 json 的图像列表.我想在 RecyclerView 中的项目点击时全屏显示图像.此外,它应该能够放大和缩小.(如画廊). 缩放功能是使用 Photoview Library 完成的.但是没有完成查看全屏项目.适配器类代码附在下面.请任何人帮我做这个.
@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {最后的 MyHolder myHolder = (MyHolder) 持有人;DataFish current = data.get(position);//使用滑行将图像加载到图像视图中Glide.with(context).load(current.flagimage).placeholder(R.drawable.ic_launcher_background).错误(R.drawable.ic_launcher_background).into(myHolder.imageView);myHolder.imageView.setOnClickListener(new View.OnClickListener() {@覆盖public void onClick(View v) {}});}
我想在这个 onclick 中添加查看全屏的代码.
按照这个步骤
<块引用>像这样创建一个新的 Activity 并检索 url
布局
<图像视图android:id="@+id/myImage"android:layout_width="match_parent"android:layout_height="match_parent"android:adjustViewBounds="true"android:scaleType="fitXY"/></LinearLayout>
Activity.java
公共类 MainActivity 扩展 AppCompatActivity {ImageView myImage;字符串 url = "";@覆盖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).错误(R.drawable.ic_launcher_background).into(myImage);}}
<块引用>
当使用 click om recyclerview 项目而不是使用意图将 url 传递给该活动
myHolder.imageView.setOnClickListener(new View.OnClickListener() {@覆盖public void onClick(View v) {意图意图=新意图(上下文,MainActivity.this);intent.putExtra("image_url",current.flagimage);context.startActivity(意图);}});
<块引用>
您可以使用 PhotoView
进行缩放ImageView
PhotoView
旨在帮助生成易于使用的缩放 Android ImageView
实现.
I am new to android.I have a RecyclerView which shows list of images from a json.I want to do showing image full screen when item from RecyclerView clicks.Also it should be able to zoom in and out.(Like gallery).Zooming functionalty is done using Photoview Library.But viewing full screen a item is not done.Adapter class code is attached below.Please anyone help me to do this.
@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) {
}
});
}
I want to add the code for view full screen in this onclick.
follow this steps
create a new Activity like this and retrive url
LAYOUT
<?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);
}
}
When use click om recyclerview item than pass the url to that activity using intent
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);
}
});
you can use
PhotoView
for zoomingImageView
PhotoView
aims to help produce an easily usable implementation of a zooming Android ImageView
.
这篇关于单击回收站视图中的项目时查看全屏图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!