亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        139郵箱Android端折疊屏設(shè)備適配

        2021-08-23 13:06:26丁小波王朝鵬陳禹樵
        現(xiàn)代計(jì)算機(jī) 2021年20期

        丁小波,王朝鵬,陳禹樵

        (中移互聯(lián)網(wǎng)有限公司云產(chǎn)品事業(yè)部,廣州510000)

        0 引言

        (1)研究?jī)?nèi)容

        課題的研究?jī)?nèi)容分為:折疊屏的UI適配、折疊屏的郵件瀏覽、折疊屏的文件拖拽,從這三部分內(nèi)容入手,通過(guò)對(duì)折疊屏特性的熟悉和了解,對(duì)139郵箱進(jìn)行針對(duì)性的改造,使其能夠在折疊屏手機(jī)上流暢運(yùn)行并且實(shí)現(xiàn)特殊場(chǎng)景的需求。

        對(duì)于折疊屏的UI適配,需要解決的問(wèn)題在于折疊屏在常規(guī)和打開兩種狀態(tài)下,139郵箱的界面拉伸問(wèn)題。需要對(duì)應(yīng)用的窗口寬度進(jìn)行實(shí)時(shí)監(jiān)測(cè),根據(jù)應(yīng)用的窗口寬度,動(dòng)態(tài)改變需要?jiǎng)討B(tài)計(jì)算的控件長(zhǎng)寬,使其能夠符合正確的比例而不會(huì)變形。另外,應(yīng)用的上下改變高度時(shí),該場(chǎng)景下,指定絕對(duì)位置的控件將導(dǎo)致錯(cuò)位,需要解決此類場(chǎng)景的控件位置出錯(cuò)問(wèn)題。

        對(duì)于折疊屏的郵件瀏覽,需要實(shí)現(xiàn)的效果為,折疊屏左邊屏幕為郵件列表,折疊屏右邊屏幕為郵件詳情,通過(guò)左邊點(diǎn)擊不同的郵件,可即時(shí)在右邊看到郵件詳情。該效果的實(shí)現(xiàn)需要用到“平行視界”的技術(shù),通過(guò)對(duì)不同界面的配置,以及窗口比例的調(diào)整,啟動(dòng)模式的調(diào)整,從而實(shí)現(xiàn)折疊屏的郵件瀏覽。

        對(duì)于折疊屏的文件拖拽,需要基于139郵箱支持分屏的基礎(chǔ)上實(shí)現(xiàn)。第三方應(yīng)用需要自身實(shí)現(xiàn)拖出事件,并在拖出事件中進(jìn)行數(shù)據(jù)的封裝和傳輸。139郵箱在能夠?qū)崿F(xiàn)分屏之后,在指定Activity內(nèi)指定某個(gè)控件,捕獲外界的拖入事件,并在事件中取出拖出方封裝好的數(shù)據(jù),進(jìn)行界面的渲染以及后續(xù)數(shù)據(jù)的使用。

        (2)研究目的和意義

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

        1 折疊屏手機(jī)適配

        1.1 應(yīng)用多窗口適配

        1.1.1 多窗口模式介紹

        Android N支持多窗口模式,或者叫分屏模式,即在屏幕上可以同時(shí)顯示多個(gè)窗口,詳見(jiàn)圖1。

        圖1 多窗口模式

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

        在分屏模式下,各個(gè)窗口的應(yīng)用都可以正常運(yùn)行,但是只能有一個(gè)窗口獲得焦點(diǎn),而另外的窗口則屬于暫停狀態(tài)。

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

        用戶打開Overview屏幕并長(zhǎng)按Activity標(biāo)題,可以拖動(dòng)該Activity至屏幕突出顯示的區(qū)域,使Activity進(jìn)入多窗口模式。

        用戶長(zhǎng)按Overview按鈕,設(shè)備上當(dāng)前的Activity將進(jìn)入多窗口模式,同時(shí)將打開Overview屏幕,用戶可在該屏幕中選擇要共享屏幕的另一個(gè)Activity。

        用戶可以在兩個(gè)Activity共享屏幕的同時(shí)在這兩個(gè)Activity之間拖放數(shù)據(jù)。默認(rèn)情況下,Android N的Activity都是開啟多窗口模式的。在Nexus 6P手機(jī)上,分屏模式的啟動(dòng)和退出是長(zhǎng)按多任務(wù)虛擬按鍵。

        1.1.2 139郵箱多窗口配置

        在項(xiàng)目的manifests中,在application下,配置:

        1.1.3 139郵箱多窗口異常處理

        多窗口適配后,應(yīng)用在切換為多窗口狀態(tài)以及調(diào)整窗口大小時(shí),會(huì)觸發(fā)當(dāng)前Activity的生命周期,導(dǎo)致應(yīng)用重啟的假象,需要對(duì)這類異常進(jìn)行處理,處理方案為,在manifests中,對(duì)應(yīng)用的每個(gè)Activity均進(jìn)行以下配置,可防止Activity重走生命周期。

        1.1.4 139郵箱布局適配

        多窗口適配后,應(yīng)用在調(diào)整窗口大小時(shí),布局會(huì)相對(duì)應(yīng)的變化,應(yīng)用所在的窗口高度和寬度也會(huì)變化,需要對(duì)控件進(jìn)行動(dòng)態(tài)適配。以下是適配情況:

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

        圖2 控件絕對(duì)位置布局重疊問(wèn)題

        指定控件相對(duì)位置后,當(dāng)窗口尺寸調(diào)整時(shí),也能夠正常顯示,以下代碼為相對(duì)位置布局,具體效果見(jiàn)圖3。

        圖3 控件相對(duì)位置正常顯示

        (2)動(dòng)態(tài)計(jì)算控件大小。通過(guò)監(jiān)聽(tīng)onConfiguration Changed方法,從而監(jiān)控窗口大小的改變進(jìn)而改變布局。

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

        在該方法中,需要重新獲取當(dāng)前應(yīng)用窗口寬度的大小,對(duì)需要?jiǎng)討B(tài)計(jì)算寬高的控件進(jìn)行再次計(jì)算并且繪制。這里需要注意的是,獲取的應(yīng)當(dāng)是當(dāng)前應(yīng)用的窗口大小,而非屏幕的大小,因?yàn)檎郫B屏手機(jī)在折疊以及展開時(shí),寬度是會(huì)變化的。

        1.2 139郵箱平行視界適配

        平行視界,是華為首創(chuàng)的應(yīng)用內(nèi)分屏功能,目前已經(jīng)在華為平板M6與華為MatePad Pro上發(fā)布。和Android系統(tǒng)分屏提供是兩個(gè)應(yīng)用間的分屏不同的是,它提供應(yīng)用內(nèi)兩個(gè)窗口可以在屏幕上左右同時(shí)顯示的功能,從而使Android平板的使用體驗(yàn)有了革命性突破。

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

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

        圖4 139郵箱平行視界效果

        平行視界的配置,需要通過(guò)JSON配置文件完成,常規(guī)地指定應(yīng)用包名,平行視界版本等常規(guī)參數(shù)外,最重要的是配置起始頁(yè)面以及視界比例,詳見(jiàn)以下代碼:

        其中,以下這段代碼用于配置平行視界起始頁(yè),MessageList為郵件列表頁(yè),*代表從該頁(yè)面跳轉(zhuǎn)至任一頁(yè)面時(shí),進(jìn)入平行視界模式。

        以下這段代碼用于配置平行視界的左右比例,可通過(guò)比例的調(diào)整,達(dá)到想要顯示的效果。

        1.3 139郵箱文件拖拽適配

        1.3.1 文件拖拽需求介紹

        在139郵箱寫信頁(yè),進(jìn)入應(yīng)用多窗口模式后,需支持備忘錄、圖庫(kù)以及文件管理器中的文字、文件和圖片通過(guò)拖拽的方式形成附件,隨后跟隨郵件一起發(fā)送,從而減少用戶操作步驟,簡(jiǎn)化操作過(guò)程。

        1.3.2 文件拖拽適配

        在寫信頁(yè),指定某個(gè)控件,這里選擇的是整個(gè)寫信頁(yè)作為文件接收容器,監(jiān)聽(tīng)該控件的onDrag方法,在此方法中,監(jiān)聽(tīng)和接收由外部應(yīng)用傳入的數(shù)據(jù),接收到數(shù)據(jù)后,對(duì)其進(jìn)行數(shù)據(jù)處理并展示在界面上即可。

        需要注意的是,文件傳入時(shí),是以URI的形式,需要將URI轉(zhuǎn)成URL,轉(zhuǎn)換過(guò)程中,需要對(duì)文件類型進(jìn)行區(qū)分。常見(jiàn)的有以下兩種類型:

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

        ②以content://開頭,再進(jìn)行細(xì)分;

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

        以下是針對(duì)不同類型的URI的轉(zhuǎn)換方法:

        2 結(jié)語(yǔ)

        隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,139郵箱的用戶數(shù)量也在持續(xù)穩(wěn)步地增長(zhǎng),隨之用戶需求也在不斷增加與完善。折疊屏手機(jī)也開始走入大眾視野,市場(chǎng)占有率已經(jīng)形成規(guī)模,此次139郵箱對(duì)折疊屏手機(jī)的適配具有重要意義。

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

        本次折疊屏適配工作共耗時(shí)兩個(gè)月完成,期間經(jīng)歷了折疊屏系統(tǒng)的調(diào)查和研究,139郵箱應(yīng)用的特性研發(fā),折疊屏適配的可行性調(diào)研,以及后續(xù)的適配工作和測(cè)試、修復(fù)工作。由于折疊屏適配目前技術(shù)空白,缺少可參考的方案,因此在摸索過(guò)程中遇到了很多困難和障礙。好在最后都一一解決了,并且形成了一套較為完整的適配方案可供他人借鑒??偟膩?lái)說(shuō),能夠完成139郵箱Android端折疊屏的適配,無(wú)論對(duì)于技術(shù)還是對(duì)于平臺(tái),都具有良性的促進(jìn)作用。139郵箱此次在折疊屏手機(jī)上的適配方案,具有廣泛的代表意義。其對(duì)后續(xù)其他應(yīng)用適配折疊屏提供了一套符合行業(yè)標(biāo)準(zhǔn)的參照模板,能夠極大地節(jié)約應(yīng)用適配時(shí)間,降低應(yīng)用適配的難度,進(jìn)而推動(dòng)折疊屏手機(jī)的創(chuàng)新與發(fā)展。

        绝顶高潮合集videos| 好看午夜一鲁一鲁一鲁| 久久2020精品免费网站| 亚洲天堂一区av在线| а√资源新版在线天堂| 97视频在线播放| 国产精品毛片大尺度激情| 国产成人精品人人做人人爽97 | 亚洲女同一区二区三区| 亚洲中字幕日产av片在线| 日产国产精品亚洲系列| 91热久久免费精品99| 成人性生交大片免费看激情玛丽莎| 51国产偷自视频区视频| 女人下面毛多水多视频| AV无码一区二区三区国产| 国产猛男猛女超爽免费av| 国产美女高潮流白浆免费视频| 欧美天天综合色影久久精品| 国产一级免费黄片无码AV| 国产在线观看免费不卡视频| 国精产品一区一区三区有限在线| 亚洲色欲综合一区二区三区| 99久久国内精品成人免费| 国产成人精品一区二三区在线观看| 亚洲自偷精品视频自拍| 色综合中文综合网| 99精品视频69v精品视频免费| 福利视频偷拍一区二区| 午夜免费福利小电影| 亚洲妇女水蜜桃av网网站| 粉嫩av一区二区在线观看| 一区二区亚洲精品在线| 99精品国产一区二区三区| 国产最新AV在线播放不卡| 中文字幕色一区二区三区页不卡| 日韩亚洲欧美久久久www综合 | 日韩国产成人精品视频| 中文字幕亚洲乱码熟女1区2区 | 国产成人亚洲精品91专区高清| 国产精品中文久久久久久久 |