面試被問到橫豎屏切換時Activity的生命周期,正好記錄一下驗證過程~

為哈巴河等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及哈巴河網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站建設、網(wǎng)站設計、哈巴河網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
新建Activity,重寫各個生命周期方法:
運行Activity,生命周期如下:
切換橫屏,生命周期如下:
再切回豎屏,生命周期如下:
修改AndroidManifest.xml,添加 android:configChanges="orientation" 并切換橫屏,生命周期如下:
再切換豎屏,生命周期如下:
修改AndroidManifest.xml,屬性改為 android:configChanges="orientation|keyboardHidden|screenSize" ,切換橫屏,生命周期如下:
再切換回豎屏,生命周期如下:
最近開發(fā)一款手機播放器,節(jié)目列表界面是豎屏的,而播放界面需要是橫屏的。測試過程中,從播放界面退回到列表界面時,列表會重新加載,看了一下打印,回到列表界面后,onCreate居然又執(zhí)行了,而且是執(zhí)行了兩次。
按照activity的生命周期來說,onCreate一般只會執(zhí)行一次的,從其他界面返回,居然還會再執(zhí)行兩次,很奇怪的現(xiàn)象。
網(wǎng)上搜了搜,應該是跟橫豎屏切換有關,于是測試了一下。先把播放界面修改為豎屏,從播放界面返回后,列表界面正常,onCreate沒有被重復調用,說明onCreate的執(zhí)行和橫豎屏切換是有關的。網(wǎng)上看到很多人說,在AndroidManifest.xml設置一下,添加 android:configChanges="orientation|keyboardHidden|screenSize" ,于是照做,再測試,果然解決問題。
1、首先打開蘋果手機,在手機桌面中,向上滑動,如下圖所示。
2、然后在打開的下拉選項中,點擊關閉鎖屏,如下圖所示。
3、這時豎屏關閉成功,手機屏幕可以自由旋轉,變成橫屏了。
4、或者打開安卓手機,同樣在桌面中向上滑動,如下圖所示。
5、進入任務欄,點擊開啟旋轉屏幕,如下圖所示就完成了。
標簽中設置:android:screenOrientation
Activity 在設備上的顯示方向。如果 Activity 是在 多窗口模式 下運行,系統(tǒng)會忽略該屬性。
其值可以是下列任一字符串:
例如: android:screenOrientation="landscape" 橫屏 android:screenOrientation="portrait" 豎屏
分手機類型進行設置。
具體分為兩種情況
1、若是使用安卓手機,則可以下拉頂簾菜單,并點擊“自動旋轉/縱向”即可。或下拉頂簾菜單后,點擊“屏幕旋轉”。綠色為開啟狀態(tài),灰色為關閉狀態(tài)。關閉屏幕鎖定后即可調整手機橫屏狀態(tài);
2、若是蘋果手機,則可以從下往上拉出菜單欄,關閉菜單欄中的屏幕鎖定,即可成功關閉手機屏幕鎖定。再將手機橫向放置,手機即可橫屏。vivo智能手機沒有橫屏設置選項,關閉豎屏鎖定開關后,手機會自動切換橫屏豎屏方向。豎屏鎖定關閉方法:上滑快捷欄-找到豎屏鎖定-關閉開關具體操作步驟(以vivoX9為例):
1、從屏幕底部上滑打開快捷欄,左滑找到豎屏鎖定
2、點擊關閉豎屏鎖定注:圖標亮起代表開啟此功能,熄滅代表關閉。
以華為Mate40手機為例:
升級HarmonyOS系統(tǒng)后,從屏幕右側頂部下滑出控制中心界面,點擊自動旋轉開啟屏幕自動旋轉功能。
分享題目:android豎屏切換,android豎屏切換時dialog偏移
分享鏈接:http://chinadenli.net/article5/dseshoi.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導航、全網(wǎng)營銷推廣、建站公司、面包屑導航、企業(yè)建站、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)