(轉(zhuǎn))當(dāng)手機(jī)沒有關(guān)閉橫豎屏切換功能時(shí)葵蒂,系統(tǒng)一旦觸發(fā)橫豎屏切換碧库,缺省狀態(tài)下涡贱,當(dāng)前活動(dòng)的App的界面就會(huì)進(jìn)行橫豎屏切換,由于橫豎屏的界面尺寸等參數(shù)不同愕把,很多軟件在設(shè)計(jì)和開發(fā)中為了避免橫豎屏切換時(shí)引發(fā)不必要的麻煩拣凹,通常需要讓App禁止掉橫豎屏的切換,這就需要通過在AndroidManifest.xml中設(shè)置activity中的android:screenOrientation屬性值來實(shí)現(xiàn)恨豁。
android:screenOrientation屬性
android:screenOrientation="landscape"是限制此頁面為橫屏顯示
android:screenOrientation="portrait"是限制此頁面為豎屏顯示
android:screenOrientation設(shè)定該活動(dòng)的方向嚣镜,該值可以是任何一個(gè)下面的字符串:
unspecified:由系統(tǒng)選擇顯示方向,不同的設(shè)備可能會(huì)有所不同橘蜜。(旋轉(zhuǎn)手機(jī)菊匿,界面會(huì)跟著旋轉(zhuǎn))
user:用戶當(dāng)前的首選方向。
nosensor:不由傳感器確定方向。旋轉(zhuǎn)設(shè)備的時(shí)候跌捆,界面不會(huì)跟著旋轉(zhuǎn)凡涩。初始界面方向由系統(tǒng)提供。
landscape:限制界面為橫屏疹蛉,旋轉(zhuǎn)屏幕也不會(huì)改變當(dāng)前狀態(tài)活箕。
portrait:限制界面為豎屏,旋轉(zhuǎn)屏幕也不會(huì)改變當(dāng)前狀態(tài)可款。
"behind"- 與在活動(dòng)堆棧下的活動(dòng)相同方向
sensor:根據(jù)傳感器定位方向育韩,旋轉(zhuǎn)手機(jī)90度,180,270,360闺鲸,界面都會(huì)發(fā)生變化筋讨。
sensorLandscape:(橫屏的旋轉(zhuǎn),不會(huì)出現(xiàn)豎屏的現(xiàn)象)根據(jù)傳感器定位方向摸恍,旋轉(zhuǎn)手機(jī)180度界面旋轉(zhuǎn)悉罕。一般橫屏游戲會(huì)是這個(gè)屬性。
sensorPortrait:(豎屏的旋轉(zhuǎn)立镶,不會(huì)出現(xiàn)橫屏的現(xiàn)象)根據(jù)傳感器定位方向壁袄,旋轉(zhuǎn)手機(jī)180度界面會(huì)旋轉(zhuǎn)。
如果要使Activity的View界面全屏媚媒,只需要將最上面的信號(hào)欄和Activity的Title欄隱藏掉即可嗜逻,隱藏Title欄的代碼:
requestWindowFeature(Window.FEATURE_NO_TITLE);??
配置文件里代碼:??
android:theme="@android:style/Theme.NoTitleBar"??
隱藏信號(hào)欄的代碼:??
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,?WindowManager.LayoutParams.FLAG_FULLSCREEN);??
其它使用:??
getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR,?WindowManager.LayoutParams.TYPE_STATUS_BAR);?