我是android的新手。我有一个RecyclerView,显示来自json的图像列表。我想在RecyclerView clicks的项目时全屏显示图像。它也应该可以放大和缩小。(比如图库使用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中添加全屏视图代码。
答案 0 :(得分:4)
按照以下步骤操作
像这样创建一个新的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);
}
}
使用时点击om recyclerview项目,然后使用意图
将网址传递给该活动
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
的易于使用的实现。