簡體   English   中英

如何在活動頂部顯示“窗口/子活動/對話框”,但如何將焦點保持在活動中

[英]how to show a “window/subactivity/dialog” on top of an Activity but keeping the focus in the Activity

我的活動A是一個游戲,它會執行一些后台操作。 當我按下上下文菜單中的按鈕時,我想彈出一個出現在活動A上方的“小窗口/對話框/子活動”(簡稱為B),並顯示有關這些后台操作的一些數據。 但是我需要繼續關注活動A,以便繼續與活動A互動(玩游戲)。

本質上,我希望能夠在玩游戲時看到B的數據顯示。

我不太確定如何執行此操作。 閱讀文檔后,我將得出以下結論:

  • 我知道我不能使用對話框,因為它具有焦點。 有可能避免這種情況嗎?
  • 使用帶有Dialog主題的子活動,這是另一個誘人的選擇...但是我相信該子活動具有重點。 同上。
  • 我的最后一個選擇是嘗試將包含我的數據的LinearLayout添加到主布局中,以“共享/拆分”屏幕。 它並不漂亮,但至少我知道這是可能的。 我對這種方法不滿意的是,我使用屏幕的寬度和高度。

有什么建議么? 解決方案?

PS:我在這里找到了一些與我的問題非常相關的線程:

Theme.Dialog樣式創建一個Activity。 這是一個正常的活動,看起來像一個對話框,同時是無模式的並接受事件。

其他問題包括設置WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL和重置WindowManager.LayoutParams.FLAG_DIM_BEHIND

請參見以下答案以獲取完整示例: 定時無模式對話框

為什么不使用Activity之外的FrameLayout? 只需確保此View具有更高的z索引(確保在XML布局中最后聲明它或在運行時創建它)即可。 這樣,您就永遠不會離開活動。

暫無
暫無

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

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