欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 屏幕橫豎切換詳解

 更新時(shí)間:2016年11月01日 11:12:05   投稿:lqh  
這篇文章主要介紹了android 屏幕橫豎切換詳解的相關(guān)資料,需要的朋友可以參考下

Android 屏幕橫豎切換

Android 里面控制Activity的方向,只要在AndroidManifest.xml里面對(duì)應(yīng)的Activity節(jié)點(diǎn)下加一句

android:screenOrientation="landscape"(landscape是橫屏,portrait豎屏)。

 我憑這句話混了一年,基本都可以的,但是這幾天我發(fā)現(xiàn)這招不是萬(wàn)能的了。 

項(xiàng)目里面有一個(gè)橫屏播放視頻的PlayAcitivity,我和之前一樣設(shè)置了android:screenOrientation="landscape"。到這邊都沒(méi)有問(wèn)題,后來(lái)加了一個(gè)需求,點(diǎn)擊屏幕上面的”評(píng)論”按鈕,彈出一個(gè)對(duì)話框,這個(gè)對(duì)話框我是用Activity實(shí)現(xiàn)的。效果是:豎屏、評(píng)論界面占據(jù)屏幕的中間一塊,周圍是半透明的。

神奇的事情出現(xiàn)了,評(píng)論窗口彈出后,我發(fā)現(xiàn)后面的播放界面居然變成了豎屏。(因?yàn)樯厦嬲f(shuō)過(guò),這個(gè)對(duì)話框只暫居了大半個(gè)屏幕,周圍透明,所以可以看見(jiàn)后面的界面PlayAcitivity)。 

看見(jiàn)屏幕切換為豎屏了,我就郁悶了,我明明設(shè)置了android:screenOrientation="landscape",為什么還切換呢。

后來(lái)谷歌、百度…  也沒(méi)有找出原因來(lái)。自我理解是這樣的:雖然PlayAcitivity被遮住了,但是依然有一部分可見(jiàn)。而頂部窗口(對(duì)話框)是設(shè)置為android:screenOrientation="portrait"的,屏幕只有一個(gè),肯定是根據(jù)頂部窗口的設(shè)置為準(zhǔn)。

 Android中當(dāng)屏幕橫豎屏切換時(shí),Activity的生命周期是重新加載(說(shuō)明當(dāng)前的Activity給銷毀了,但又重新執(zhí)行加載),怎么使屏幕橫豎屏切換時(shí),當(dāng)前的Activity不銷毀呢?

 在AndroidManifest.xml中為Activity設(shè)置configChanges屬性.

configChanges有如下選項(xiàng): 

1. orientation :屏幕在縱向和橫向間旋轉(zhuǎn);

2. keyboardHidden:鍵盤顯示或隱藏;

3.fontScale: 用戶變更了首選的字體大小 

4.locale: 用戶選擇了不同的語(yǔ)言設(shè)定;

5. keyboard: 鍵盤類型變更,例如手機(jī)從12鍵盤切換到全鍵盤

6. touchscreen或navigation: 鍵盤或?qū)Ш椒绞阶兓?/p>

如果缺少了keyboardHidden選項(xiàng),不能防止Activity的銷毀,并且在之后提到的onConfigurationChanged事件中只能捕獲豎屏變橫屏的事件不能捕獲橫屏變豎屏。

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

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • 詳解Android Ashmem匿名共享內(nèi)存

    詳解Android Ashmem匿名共享內(nèi)存

    這篇文章主要介紹了Android Ashmem匿名共享內(nèi)存的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用Android開(kāi)發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android利用Sensor實(shí)現(xiàn)傳感器功能

    Android利用Sensor實(shí)現(xiàn)傳感器功能

    這篇文章主要為大家詳細(xì)介紹了Android利用Sensor實(shí)現(xiàn)傳感器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Android進(jìn)階教程之ViewGroup自定義布局

    Android進(jìn)階教程之ViewGroup自定義布局

    這篇文章主要給大家介紹了關(guān)于Android進(jìn)階教程之ViewGroup自定義布局的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位Android開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • RadioGroup實(shí)現(xiàn)單選框的多行排列

    RadioGroup實(shí)現(xiàn)單選框的多行排列

    這篇文章主要為大家詳細(xì)介紹了RadioGroup實(shí)現(xiàn)單選框的多行排列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android設(shè)計(jì)登錄界面、找回密碼、注冊(cè)功能

    Android設(shè)計(jì)登錄界面、找回密碼、注冊(cè)功能

    這篇文章主要為大家詳細(xì)介紹了Android設(shè)計(jì)登錄界面的方法,Android實(shí)現(xiàn)找回密碼、注冊(cè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 簡(jiǎn)單實(shí)現(xiàn)Android鬧鐘程序 附源碼

    簡(jiǎn)單實(shí)現(xiàn)Android鬧鐘程序 附源碼

    這篇文章主要幫助大家簡(jiǎn)單實(shí)現(xiàn)Android鬧鐘程序,附源碼下載,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android中利用Xposed框架實(shí)現(xiàn)攔截系統(tǒng)方法

    Android中利用Xposed框架實(shí)現(xiàn)攔截系統(tǒng)方法

    這篇文章主要介紹了Android中利用Xposed框架實(shí)現(xiàn)攔截系統(tǒng)方法的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • Android布局(RelativeLayout、TableLayout等)使用方法

    Android布局(RelativeLayout、TableLayout等)使用方法

    這篇文章主要介紹了Android布局使用方法及各種屬性介紹,包括RelativeLayout、TableLayout等,感興趣的朋友可以參考一下
    2016-03-03
  • Android中activity處理返回結(jié)果的實(shí)現(xiàn)方式

    Android中activity處理返回結(jié)果的實(shí)現(xiàn)方式

    這篇文章主要介紹了Android中activity處理返回結(jié)果的實(shí)現(xiàn)方式,為了實(shí)現(xiàn)這個(gè)功能,Android提供了一個(gè)機(jī)制,跳轉(zhuǎn)到其他activity時(shí),再返回,可以接受到其他activity返回的值,無(wú)需再start新的當(dāng)前activity。需要的朋友可以參考下
    2016-12-12
  • Android編程之退出整個(gè)應(yīng)用程序的方法

    Android編程之退出整個(gè)應(yīng)用程序的方法

    這篇文章主要介紹了Android編程之退出整個(gè)應(yīng)用程序的方法,實(shí)例分析了Android直接關(guān)閉所有的Acitivity并退出應(yīng)用程序的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-12-12

最新評(píng)論