[英]view full screen image when item from recycler view clicks
我是 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) {
}
});
}
我想在這個onclick中添加查看全屏的代碼。
按照這個步驟
像這樣創建一個新的 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>
活動.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
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.