簡體   English   中英

為什么 Android 通知圖標 position 因設備/版本而異?

[英]Why Android notification icon position differs depending on device/version?

似乎 Android 根據操作系統或設備在不同的地方顯示通知圖標。

通常它位於左上角,但有時它位於左側但以文本為中心。 有誰知道背后的邏輯是什么?

例子:

左上角居中

似乎它與操作系統無關,因為我在 Android 的相同版本上看到了這兩個版本。也許還有其他原因?

Android 的不同版本更改了通知的 UI 樣式 - 您的第一個示例來自 Marshmallow(Android 6)或更早版本,另一個是現代版本 Android 的外觀。這僅適用於庫存 Android - 幾乎每個手機制造商都添加他們自己在某種程度上調整了用戶界面,如果他們決定對標准布局進行更改,他們可以!

如果要創建通知,建議您使用NotificationCompat支持庫 這允許您以不同的方式配置通知,因此您可以獲得一些標准變體 使用支持庫意味着您可以使用舊操作系統版本上的通知系統不支持的配置,並且它們將使用安全回退。

這些標准變體的實際顯示方式取決於設備——為了保持一致性,設備上的所有通知都將遵循這些標准模板。 您將無法將現代示例與舊的 Holo 樣式混合在一起,它看起來很奇怪,因為樣式完全不同。

最終由操作系統決定通知應該是什么樣子,你只需提供一些屬性,如不同的文本標簽、圖像、媒體內容等,它決定如何處理它們。 這就是為什么舊樣式將圖標放在左側的大圓圈中,並以這種方式顯示兩位文本,而較新版本使用與應用程序名稱內嵌的小圖標等。


可以創建自定義通知,您基本上可以在其中定義全部內容並控制 UI,因此您可以在同一台設備上擁有完全不匹配的通知 styles - 但我認為您不會看到那么多,因為這會使您的應用在 UI 不匹配的設備上看起來很奇怪。 就像那個鏈接所說的那樣, 從 Android 12 開始,您只能自定義通知區域,其中不包括標准的 header(應用程序圖標和名稱、時間戳等)

暫無
暫無

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

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