簡體   English   中英

如何覆蓋活動上下文的過渡?

[英]How to override the transition from an activity's context?

我想從以下內容覆蓋頁面到頁面的過渡:在當前活動中,我正在使用當前活動的上下文在后台運行另一個類的方法。 從該類中,我打開2種可能的活動之一(使用上下文,但不直接通過我的初始活動)。 有沒有辦法覆蓋從初始活動到兩個新活動的頁面轉換? 因為overridePendingTransition只能在活動對象上運行,所以我不能在兩種情況下都只調用此方法,因為這些情況不是實際活動的一部分。

抱歉,如果不清楚,請隨時提出問題以解決所有問題。 我對意圖和上下文的定義仍然不是100%。

//depending on if there is a warning it will either display the warning screen or skip it
                    if(dairy)
                    {
                        Intent intent_warn = new Intent(context, WarningScreen.class);

                        intent_warn.putExtra("Name", str_name);
                        intent_warn.putExtra("Size", str_size);
                        intent_warn.putExtra("Price", str_price);
                        intent_warn.putExtra("Carbs", str_carbs);
                        intent_warn.putExtra("Protein", str_protein);
                        intent_warn.putExtra("Fiber", str_fiber);
                        intent_warn.putExtra("Sugar", str_sugar);
                        intent_warn.putExtra("SatFat", str_satFat);
                        intent_warn.putExtra("TotFat", str_totFat);
                        intent_warn.putExtra("Cholesterol", str_cholesterol);
                        intent_warn.putExtra("Sodium", str_sodium);
                        intent_warn.putExtra("Potassium", str_potassium);
                        intent_warn.putExtra("Calories", str_calories);
                        intent_warn.putExtra("Warning", "Contains Dairy");
                        intent_warn.putExtra("WarningRed", true);
                        Log.e("Warning",intent_warn.getExtras().getString("Warning"));
                        context.startActivity(intent_warn);
                        context.overridePendingTransition(R.layout.fade_in, R.layout.fade_out);

                    }
                    else
                    {
                        Intent intent_menu = new Intent(context, DisplayScreen.class);
                        intent_menu.putExtra("Name", str_name);
                        intent_menu.putExtra("Size", str_size);
                        intent_menu.putExtra("Price", str_price);
                        intent_menu.putExtra("Carbs", str_carbs);
                        intent_menu.putExtra("Protein", str_protein);
                        intent_menu.putExtra("Fiber", str_fiber);
                        intent_menu.putExtra("Sugar", str_sugar);
                        intent_menu.putExtra("SatFat", str_satFat);
                        intent_menu.putExtra("TotFat", str_totFat);
                        intent_menu.putExtra("Cholesterol", str_cholesterol);
                        intent_menu.putExtra("Sodium", str_sodium);
                        intent_menu.putExtra("Potassium", str_potassium);
                        intent_menu.putExtra("Calories", str_calories);
                        intent_menu.putExtra("Warning",  "Contains no allergens");
                        intent_menu.putExtra("WarningRed", false);
                        Log.e("Warning",intent_menu.getExtras().getString("Warning"));

                        context.startActivity(intent_menu);
                        context.overridePendingTransition(R.layout.fade_in, R.layout.fade_out);
                    }

我嘗試使用context.overridePendingTransition...但是不能在上下文上完成。 但是,以下代碼在從另一個Activity(而不是上下文項)運行時可以工作:

startActivity(letsMenu);
        overridePendingTransition(R.layout.fade_in, R.layout.fade_out);

只需將上下文包裝如下:

((Activity)context).overridePendingTransition(R.layout.fade_in, R.layout.fade_out);

暫無
暫無

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

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