簡體   English   中英

有沒有辦法讓兩個活動同時使用相同的背景?

[英]is there a way for two activities to simultaneously use the same background?

我的 mainactivity 和我的 listview 活動都使用相同的背景圖像,我使用它們各自的 xml 文件來設置背景圖像。 在 mainactivity 中有一個按鈕,可以轉到 listview 活動以從一組選項中進行選擇。 一切正常,但是當您轉到 listview 活動時,即使它們使用相同的背景,當轉到 listview 活動時,即使它仍然是相同的背景,listview 的背景也會在 mainactivity 的背景上向上滑動,而我希望它只是轉到列表視圖而不會看到相同的背景在現有背景上滑動。 我將如何解決這個問題?

您要的是 Lollipop 中提供的跨活動的共享元素。

Intent intent = new Intent(this, Activity2.class);
ActivityOptions options = ActivityOptions
            .makeSceneTransitionAnimation(this, sharedview,"sharedviewname");
startActivity(intent, options.toBundle()); 

目前還沒有提供向后兼容性。

變通解決方案:

  1. 使 Activity1 的整個視圖處於不可見狀態(期望背景視圖)。
  2. 有透明背景的 Activity2。
  3. 啟動Activity2。

如果您使用兩個活動然后切換使用

Intent iSecondActivity = new Intent(FirstActivity.this,SecondActivity.class);
FirstActivity.this.startActivity(iSecondActivity);
FirstActivity.this.overridePendingTransition(0, 0);

它將刪除所有默認的活動切換效果

在啟動一個新活動時寫入Intent.FLAG_ACTIVITY_NO_ANIMATION標志,它將消除活動的過渡效果。

比如, intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

暫無
暫無

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

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