999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

139郵箱Android端折疊屏設備適配

2021-08-23 13:06:26丁小波王朝鵬陳禹樵
現代計算機 2021年20期

丁小波,王朝鵬,陳禹樵

(中移互聯網有限公司云產品事業部,廣州510000)

0 引言

(1)研究內容

課題的研究內容分為:折疊屏的UI適配、折疊屏的郵件瀏覽、折疊屏的文件拖拽,從這三部分內容入手,通過對折疊屏特性的熟悉和了解,對139郵箱進行針對性的改造,使其能夠在折疊屏手機上流暢運行并且實現特殊場景的需求。

對于折疊屏的UI適配,需要解決的問題在于折疊屏在常規和打開兩種狀態下,139郵箱的界面拉伸問題。需要對應用的窗口寬度進行實時監測,根據應用的窗口寬度,動態改變需要動態計算的控件長寬,使其能夠符合正確的比例而不會變形。另外,應用的上下改變高度時,該場景下,指定絕對位置的控件將導致錯位,需要解決此類場景的控件位置出錯問題。

對于折疊屏的郵件瀏覽,需要實現的效果為,折疊屏左邊屏幕為郵件列表,折疊屏右邊屏幕為郵件詳情,通過左邊點擊不同的郵件,可即時在右邊看到郵件詳情。該效果的實現需要用到“平行視界”的技術,通過對不同界面的配置,以及窗口比例的調整,啟動模式的調整,從而實現折疊屏的郵件瀏覽。

對于折疊屏的文件拖拽,需要基于139郵箱支持分屏的基礎上實現。第三方應用需要自身實現拖出事件,并在拖出事件中進行數據的封裝和傳輸。139郵箱在能夠實現分屏之后,在指定Activity內指定某個控件,捕獲外界的拖入事件,并在事件中取出拖出方封裝好的數據,進行界面的渲染以及后續數據的使用。

(2)研究目的和意義

通過對139郵箱Android端折疊屏適配的研究,目的和意義在于:①研究折疊屏設備特性和功能特性;②使139郵箱適配折疊屏手機,使其能在折疊屏手機上正常且流暢運行,滿足折疊屏手機的功能需求;③總結歸納一套適用于大部分折疊屏手機的 Android端應用適配方案,節約適配成本。

1 折疊屏手機適配

1.1 應用多窗口適配

1.1.1 多窗口模式介紹

Android N支持多窗口模式,或者叫分屏模式,即在屏幕上可以同時顯示多個窗口,詳見圖1。

圖1 多窗口模式

在手機模式下,兩個應用可以并排或者上下同時顯示,屏幕上半部分的窗口是系統的Clock應用,下半部分是系統設置功能。用戶可以拖動兩個應用之間的分界線改變兩個窗口的大小,放大其中一個應用,同時縮小另一個應用[1]。

在分屏模式下,各個窗口的應用都可以正常運行,但是只能有一個窗口獲得焦點,而另外的窗口則屬于暫停狀態。

Android N用戶可以通過以下方式切換到多窗口模式:

用戶打開Overview屏幕并長按Activity標題,可以拖動該Activity至屏幕突出顯示的區域,使Activity進入多窗口模式。

用戶長按Overview按鈕,設備上當前的Activity將進入多窗口模式,同時將打開Overview屏幕,用戶可在該屏幕中選擇要共享屏幕的另一個Activity。

用戶可以在兩個Activity共享屏幕的同時在這兩個Activity之間拖放數據。默認情況下,Android N的Activity都是開啟多窗口模式的。在Nexus 6P手機上,分屏模式的啟動和退出是長按多任務虛擬按鍵。

1.1.2 139郵箱多窗口配置

在項目的manifests中,在application下,配置:

1.1.3 139郵箱多窗口異常處理

多窗口適配后,應用在切換為多窗口狀態以及調整窗口大小時,會觸發當前Activity的生命周期,導致應用重啟的假象,需要對這類異常進行處理,處理方案為,在manifests中,對應用的每個Activity均進行以下配置,可防止Activity重走生命周期。

1.1.4 139郵箱布局適配

多窗口適配后,應用在調整窗口大小時,布局會相對應的變化,應用所在的窗口高度和寬度也會變化,需要對控件進行動態適配。以下是適配情況:

(1)控件相對位置。需指定控件的相對位置,而非絕對位置,如果固定控件的絕對位置,在應用窗口拉伸時,會有控件重疊的問題。以下代碼為絕對位置布局,具體效果如圖2所示。

圖2 控件絕對位置布局重疊問題

指定控件相對位置后,當窗口尺寸調整時,也能夠正常顯示,以下代碼為相對位置布局,具體效果見圖3。

圖3 控件相對位置正常顯示

(2)動態計算控件大小。通過監聽onConfiguration Changed方法,從而監控窗口大小的改變進而改變布局。

從Android API可以得知android:onConfiguration Changed實際對應的是Activity里的onConfiguration Changed()方法。在AndroidManifest.xml中添加該方法的含義是表示在改變屏幕方向、大小,彈出軟件盤和隱藏軟鍵盤時,不需要再去執行onCreate()方法,而是直接執行onConfigurationChanged()。如果不聲明此段代碼,按照Activity的生命周期,都會去執行一次onCreate()方法,而onCreate()方法通常會在顯示之前做一些初始化工作。所以如果改變屏幕方向這樣的操作都去執行onCreate()方法,就有可能造成重復的初始化,降低程序效率是必然的了,而且更有可能因為重復的初始化而導致數據的丟失。

在該方法中,需要重新獲取當前應用窗口寬度的大小,對需要動態計算寬高的控件進行再次計算并且繪制。這里需要注意的是,獲取的應當是當前應用的窗口大小,而非屏幕的大小,因為折疊屏手機在折疊以及展開時,寬度是會變化的。

1.2 139郵箱平行視界適配

平行視界,是華為首創的應用內分屏功能,目前已經在華為平板M6與華為MatePad Pro上發布。和Android系統分屏提供是兩個應用間的分屏不同的是,它提供應用內兩個窗口可以在屏幕上左右同時顯示的功能,從而使Android平板的使用體驗有了革命性突破。

●139郵箱平行視界適配步驟

139郵箱對于折疊屏手機的平行視界適配,需要達到如圖4的效果,左邊展示郵件列表,右邊展示郵件詳情,并且可通過左邊切換郵件時,同步在右邊展示郵件。

圖4 139郵箱平行視界效果

平行視界的配置,需要通過JSON配置文件完成,常規地指定應用包名,平行視界版本等常規參數外,最重要的是配置起始頁面以及視界比例,詳見以下代碼:

其中,以下這段代碼用于配置平行視界起始頁,MessageList為郵件列表頁,*代表從該頁面跳轉至任一頁面時,進入平行視界模式。

以下這段代碼用于配置平行視界的左右比例,可通過比例的調整,達到想要顯示的效果。

1.3 139郵箱文件拖拽適配

1.3.1 文件拖拽需求介紹

在139郵箱寫信頁,進入應用多窗口模式后,需支持備忘錄、圖庫以及文件管理器中的文字、文件和圖片通過拖拽的方式形成附件,隨后跟隨郵件一起發送,從而減少用戶操作步驟,簡化操作過程。

1.3.2 文件拖拽適配

在寫信頁,指定某個控件,這里選擇的是整個寫信頁作為文件接收容器,監聽該控件的onDrag方法,在此方法中,監聽和接收由外部應用傳入的數據,接收到數據后,對其進行數據處理并展示在界面上即可。

需要注意的是,文件傳入時,是以URI的形式,需要將URI轉成URL,轉換過程中,需要對文件類型進行區分。常見的有以下兩種類型:

①file://開頭,可直接轉成Url,轉換方法為:uri.get-Path();

②以content://開頭,再進行細分;

如content://media/extenral/images/media/17766

以下是針對不同類型的URI的轉換方法:

2 結語

隨著移動互聯網的發展,139郵箱的用戶數量也在持續穩步地增長,隨之用戶需求也在不斷增加與完善。折疊屏手機也開始走入大眾視野,市場占有率已經形成規模,此次139郵箱對折疊屏手機的適配具有重要意義。

本文對折疊屏技術、折疊屏適配特性、Android技術等進行了介紹,在此技術基礎上,對139郵箱在折疊屏手機上的適配方案進行了研究和輸出,提出了針對折疊屏手機的包括多窗口適配、平行視界適配、文件拖拽等適配方案,以及在適配過程中遇到的困難與解決方法。

本次折疊屏適配工作共耗時兩個月完成,期間經歷了折疊屏系統的調查和研究,139郵箱應用的特性研發,折疊屏適配的可行性調研,以及后續的適配工作和測試、修復工作。由于折疊屏適配目前技術空白,缺少可參考的方案,因此在摸索過程中遇到了很多困難和障礙。好在最后都一一解決了,并且形成了一套較為完整的適配方案可供他人借鑒??偟膩碚f,能夠完成139郵箱Android端折疊屏的適配,無論對于技術還是對于平臺,都具有良性的促進作用。139郵箱此次在折疊屏手機上的適配方案,具有廣泛的代表意義。其對后續其他應用適配折疊屏提供了一套符合行業標準的參照模板,能夠極大地節約應用適配時間,降低應用適配的難度,進而推動折疊屏手機的創新與發展。

主站蜘蛛池模板: 亚洲精品自在线拍| 亚洲性一区| 久久超级碰| 国产精品乱偷免费视频| 97超爽成人免费视频在线播放| 丰满人妻久久中文字幕| 99这里只有精品在线| 国产一区二区三区免费| 多人乱p欧美在线观看| 国产aⅴ无码专区亚洲av综合网 | 色综合网址| a毛片在线播放| 成年人免费国产视频| 亚洲色图欧美在线| 色久综合在线| 97免费在线观看视频| 91精品国产丝袜| 亚洲国产中文综合专区在| 韩日午夜在线资源一区二区| 国产欧美日韩另类精彩视频| a毛片在线免费观看| 亚洲精品视频免费观看| 国产在线啪| 67194在线午夜亚洲| 香蕉eeww99国产在线观看| 大香网伊人久久综合网2020| 欧美不卡视频在线| 欧美日韩中文国产va另类| 日本精品αv中文字幕| 片在线无码观看| 亚洲欧洲日产无码AV| 亚洲天堂视频在线观看免费| AV天堂资源福利在线观看| 91丨九色丨首页在线播放| 成年av福利永久免费观看| 久操中文在线| 国产亚洲精品自在线| 国产精品微拍| 毛片久久网站小视频| 亚洲一区二区三区麻豆| 国内毛片视频| 日韩成人在线视频| 日韩成人高清无码| 在线观看国产精品第一区免费| 免费高清a毛片| 久久精品亚洲热综合一区二区| 99er这里只有精品| 丰满少妇αⅴ无码区| 色婷婷啪啪| 免费人成网站在线观看欧美| 国产精品成人一区二区| 91免费在线看| 操国产美女| 亚洲色图欧美| 亚洲无码高清一区| 欧美日韩国产在线播放| 日韩黄色大片免费看| 精品一区二区久久久久网站| 26uuu国产精品视频| 无码精品福利一区二区三区| 在线观看国产精美视频| 国内精品手机在线观看视频| 99精品在线视频观看| 久久久成年黄色视频| 99精品一区二区免费视频| 无码精品国产VA在线观看DVD| 热热久久狠狠偷偷色男同| 日本五区在线不卡精品| 国产网友愉拍精品视频| 日本一区二区三区精品视频| 色综合天天视频在线观看| 国产区在线看| 97久久精品人人做人人爽| 国产自在线播放| 国产一区成人| 丰满的熟女一区二区三区l| 色综合久久久久8天国| 日韩成人午夜| 精品国产成人国产在线| 夜夜操国产| 制服丝袜亚洲| 国产精女同一区二区三区久|