android相容oppo手機劉海屏解決方案

2021-09-20 07:54:31 字數 2850 閱讀 6630

本文出自:【奧特曼超人的部落格】

推薦:

目錄:

oppo的劉海屏適配文件稍微比較簡單點,首先認識一下oppo推出的一款螢幕高寬比更大、帶有劉海的凹形螢幕的手機,其螢幕規格如下:

採用寬度為1080px, 高度為2280px的圓弧顯示屏。 螢幕頂部凹形區域不能顯示內容,寬度為324px, 高度為80px。

本次凹形屏規格的機型型號:

上述機型的螢幕規格完全相同,不需分別做差異化處理,統一適配即可。

如何識別凹形屏:

context.getpackagemanager().hassystemfeature(「com.oppo.feature.screen.heteromorphism」)

返回 true為凹形屏 ,可識別oppo的手機是否為凹形屏。

您在設計應用介面布局時,請確保布局填滿螢幕,並且內容無論橫屏或豎屏顯示都不會被螢幕凹形槽遮蔽。

應用橫屏全屏顯示

應用豎屏全屏顯示

應用完整的全面屏顯示,將為使用者帶來極致的全屏效果體驗,增強應用的使用者粘性。

適配具體內容:

宣告全屏顯示(具體方法見附錄)。

適配沉浸式狀態列,避免狀態列部分顯示應用具體內容。

如果應用可橫排顯示,避免應用兩側的重要內容被遮擋。

應用橫屏全屏顯示

應用豎屏全屏顯示

1)ppt中介紹的凹形屏的規格是否固定的?以後其他機型是否會有變化?

公告針對上述機型手機,不針對後續機型。後續機型凹型屏的大小、尺寸、位置可能變化。

2)凹型屏是否有統一處理邏輯?

目前在設定 – 顯示 – 應用全屏顯示 – 凹形區域顯示控制,裡面有關閉凹形區域開關,使用者可通過這個關閉凹形區域避免遮擋(原則可參考google android p 設計說明)。

3)後續是否會相容android p?

google android p 會有標準的api獲取凹形屏,後續會按照標準api提供適配方案,並相容老方案。

根據谷歌相容性(cts)標準要求,應用必須按以下方式中的任意一種,在androidmanifest.xml中配置方可全屏顯示,否則將以非全屏顯示。

方式一:配置支援最大高寬比

* "android.max_aspect"  android:value="ratio_float" />

* android:maxaspectratio="ratio_float" (api level 26)

說明:以上兩種介面可以二選一.

ratio_float =螢幕高 / 螢幕寬
(如oppo新機型螢幕解析度為2280 x 1080, ratio_float = 2280 / 1080 = 2.11,建議設定 ratio_float為2.2或者更大)

方式二:支援分屏,注意驗證分屏下介面相容性

android:resizeableactivity=」true」

建議採用方式二適配支援全面屏。

詳見官方文件:

這裡介紹通過設定視窗全屏flag實現oppo機型狀態列沉浸式方法:

android5.0 以後的版本

window window = activity.getwindow();

view decorview = window.getdecorview();

decorview.setsystemuivisibility(view.system_ui_flag_layout_fullscreen

|view.system_ui_flag_layout_stable);

window.addflags(windowmanager.layoutparams

.flag_draws_system_bar_backgrounds);

window.setstatusbarcolor(color.transparent);

android4.4 及以前的版本設定方法:

window window = activity.getwindow();

windowmanager.layoutparams attributes = window.getattributes();

attributes.flags |= windowmanager.layoutparams

.flag_translucent_status;

window.setattributes(attributes);

OPPO陳明永 不會再有純粹手機公司

donews12 月 4 日訊息 記者 費倩文 12 月 www.cppcns.com4 日,oppo創始人 ceo陳明永發布微博,宣布將出席 12 月 10 日舉行的oppo未來科技大會 oppo 程式設計客棧inno day 2019 並發表演講,這是他時隔 6 年再度在oppo舉辦的公開活動亮...

軟體手機Android手機 Fildder真機抓包

在寫這篇文章之前,已經寫過了幾篇關於改軟體手機主題的文章,想要了解的朋友可以去翻一下之前的文章 fiddler是乙個http除錯 它能 夠記載全部的你電腦和網際網路之間的http通訊,fiddler 可以也可以讓你檢查全部的http通訊,設定斷點,以及fiddle 全部的 收支 的資料 指cooki...

Android 手機震動

1.新增震動許可權 uses permission android name android.permission.vibrate 2.獲取震動服務 vibrator mvibrator vibrator getsystemservice vibrator service 3.啟動震動 void v...