簡體   English   中英

單擊Imageview並在新活動中打開全屏圖像

[英]Click on Imageview and open fullscreen-image in new Activity

我有一個MainActivity,其中有4個圖像視圖放置在4個不同的卡片視圖中。
我想要的是,當單擊這些cardviews / imageviews中的一個時,它將在新活動中全屏顯示圖像。

我想我可以創建4個新活動,並在每個活動中放置一個全屏imageview,以引用MainActivity中的選定圖像。 但是這種方法似乎並不那么順利。

我希望有一個“ imageActivity”,然后傳遞所選的imageview。 可以通過傳遞資源ID的參數來完成此操作嗎?

可能有比我要提供的解決方案更好的解決方案,但是即使我正在學習,並且如果只有4張Cardview,我也會做以下事情。

在MainActivity中創建一個公共靜態變量
public static Drawable resId;

像這樣為每個Imageview設置Imageview

ImageView image1 = (ImageView) findViewById(R.id.image1);
image1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        resId = R.drawable.image1;
        Intent intent = new Intent(MainActivity.this,your_fullscreen_activity_name.class);
        startActivity(intent);

    }
});
ImageView image2 = (ImageView) findViewById(R.id.image2);
image2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        resId = R.drawable.image2;
        Intent intent = new Intent(MainActivity.this,your_fullscreen_activity_name.class);
        startActivity(intent);

    }
});
ImageView image3 = (ImageView) findViewById(R.id.image3);
image3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        resId = R.drawable.image3;
        Intent intent = new Intent(MainActivity.this,your_fullscreen_activity_name.class);
        startActivity(intent);

    }
});
ImageView image4 = (ImageView) findViewById(R.id.image4);
image4.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        resId = R.drawable.image4;
        Intent intent = new Intent(MainActivity.this,your_fullscreen_activity_name.class);
        startActivity(intent);

    }
});

或在cardviews上查看此處此處
創建一個全屏活動並將其名稱放在這些意圖中。
然后在此fullscreenactivity的java文件中,獲取layout / imageview的引用並執行此操作。

    ViewGroup viewGroup = findViewById(R.id.fullscreenLayout);
    viewGroup.setBackgroundDrawable(MainActivity.resId);

要么

    ImageView imageView = findViewById(R.id.fullscreenImageview); 
    imageView .setBackgroundDrawable(MainActivity.resId);

您可以使用的imageViewviewGroup

是的,不要忘記在全屏活動的XML文件中添加布局ID或創建大小與父布局相同的imagview。
如果有任何令人困惑/無用的地方,我會幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM