Android屏幕方向的一些問題

我們要設(shè)置屏幕的方向骆膝,當然先需要判斷屏幕的方向,下面提供兩種方法:

1嚼摩,? DisplayMetrics dm = new DisplayMetrics();? //顯示的度量

getWindowManager().getDefaultDisplay().getMetrics(dm);? //必須調(diào)用钦讳,window才會賦值給dm

(或者DisplayMetrics dm = getResources().getDisplayMetrics())

int width = dm.widthPixels;

int height = dm.heightPixels;

然后根據(jù)寬高的大小比矿瘦,判斷是豎屏(portrait)還是橫屏(landscape)。

2蜂厅,if(getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT)

是否為豎屏匪凡,或者也可以判斷是否為橫屏。

ok掘猿,現(xiàn)在知道當前屏幕是什么方向(當然不知道好像也沒什么關(guān)系病游,霸王硬上弓),那么就可以做出需求設(shè)置:

1稠通,在代碼中:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);? 設(shè)置為橫屏

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);? 設(shè)置為豎屏

2衬衬,在項目的AndroidManifest.xml中的Activity上設(shè)置Android:screenOrientation的屬性:

"unspecified":默認值,不特別指定改橘,由系統(tǒng)來判斷顯示方向滋尉;

"landscape":橫屏顯示(寬比高要長),豎屏向左或右旋轉(zhuǎn)90度飞主;userLanscape,只豎屏旋轉(zhuǎn)90度狮惜;

"portrait":豎屏顯示(高比寬要長)?,userPortrait跟它效果一樣就是豎屏而已;

"user":用戶當前首選的方向碌识;

"behind":和該Activity下面的那個Activity的方向一致(在Activity堆棧中的)?碾篡;

"sensor":有物理的感應(yīng)器來決定,一般設(shè)置的自動旋轉(zhuǎn)應(yīng)該就是根據(jù)物理的感應(yīng)器來相應(yīng)的筏餐;

"nosensor":忽略物理感應(yīng)器开泽,這樣就不會隨著用戶旋轉(zhuǎn)設(shè)備而更改了("unspecified"設(shè)置除外);

如果我們不設(shè)置屏幕的方向魁瞪,那么默認的方向就會隨著系統(tǒng)的改變而改變穆律,在此時回顧一下相關(guān)的Activity的生命周期:

豎屏(portrait)轉(zhuǎn)橫屏(landscape)或者是橫屏轉(zhuǎn)豎屏,Activity生命周期都只走一次(并沒有橫屏轉(zhuǎn)豎屏走兩次的說法)导俘。

當然也可以通過在AndroidManifest.xml中的Activity上設(shè)置android:configChanges的屬性來控制生命周期:

“mcc“:移動國家號碼峦耘,由三位數(shù)字組成,每個國家都有自己獨立的MCC旅薄,可以識別手機用戶所屬國家贡歧。

“mnc“:移動網(wǎng)號,在一個國家或者地區(qū)中赋秀,用于區(qū)分手機用戶的服務(wù)商利朵。

“l(fā)ocale“:用戶所在地區(qū)發(fā)生變化。

“touchscreen“:觸摸的屏幕發(fā)生變化(這個應(yīng)該不容易發(fā)生)

“keyboard“:鍵盤模式發(fā)生變化猎莲,例如:用戶接入外部鍵盤輸入绍弟。

“keyboardHidden“:用戶打開手機硬件鍵盤

“navigation“:導(dǎo)航欄類型發(fā)生變化(應(yīng)該指硬件的導(dǎo)航按鈕功能發(fā)生變化)

“orientation“:設(shè)備旋轉(zhuǎn),橫向顯示和豎向顯示模式切換著洼。

“fontScale“:全局字體大小縮放發(fā)生改變

幾種常用的情況:

1樟遣,android:configChanges="orientation"而叼,activity的生命周期無論值豎屏切橫屏還是橫屏切豎屏都是走一遍生命周期,不會調(diào)用onConfigurationChanged的方法豹悬;

2葵陵,android:configChanges="screenSize",結(jié)果同上瞻佛;

3脱篙,android:configChanges="orientation|screenSize",Activity在切換橫豎屏時不走生命周期伤柄,只會在切換的時候調(diào)用onConfigurationChanged的方法绊困。

以上測試環(huán)境:小米2(android5.0系統(tǒng)),與部分參考結(jié)果不同适刀,歡迎測試秤朗。

參考:

1,http://www.cnblogs.com/charley_yang/archive/2011/04/17/2018940.html

2笔喉,http://blog.csdn.net/u010980446/article/details/52653045

3取视,http://blog.csdn.net/dingxiaowei2013/article/details/24852239

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市常挚,隨后出現(xiàn)的幾起案子作谭,更是在濱河造成了極大的恐慌,老刑警劉巖待侵,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丢早,死亡現(xiàn)場離奇詭異姨裸,居然都是意外死亡秧倾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門傀缩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來那先,“玉大人,你說我怎么就攤上這事赡艰∈鄣” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵慷垮,是天一觀的道長揖闸。 經(jīng)常有香客問我,道長料身,這世上最難降的妖魔是什么汤纸? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮芹血,結(jié)果婚禮上贮泞,老公的妹妹穿的比我還像新娘楞慈。我一直安慰自己,他們只是感情好啃擦,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布囊蓝。 她就那樣靜靜地躺著,像睡著了一般令蛉。 火紅的嫁衣襯著肌膚如雪聚霜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天言询,我揣著相機與錄音俯萎,去河邊找鬼。 笑死运杭,一個胖子當著我的面吹牛夫啊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辆憔,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼撇眯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虱咧?” 一聲冷哼從身側(cè)響起熊榛,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腕巡,沒想到半個月后玄坦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡绘沉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年煎楣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片车伞。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡择懂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出另玖,到底是詐尸還是另有隱情困曙,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布谦去,位于F島的核電站慷丽,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鳄哭。R本人自食惡果不足惜要糊,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窃诉。 院中可真熱鬧杨耙,春花似錦赤套、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至车柠,卻和暖如春剔氏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背竹祷。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工谈跛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留塑陵,地道東北人感憾。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像令花,于是被迫代替她去往敵國和親阻桅。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 以下是復(fù)制別人的文章過來的兼都,目的是保留下這個方法嫂沉,便于今后查閱使用,該文章不會用于任何商業(yè)用途扮碧,該文章的出處:ht...
    若蘭幽竹閱讀 8,487評論 0 3
  • Android開發(fā)中趟章,大多APP可能根據(jù)實際情況直接將APP的界面方向設(shè)死了,或豎屏或橫屏慎王。但是蚓土,我們還是會遇到橫...
    yoosir閱讀 49,778評論 7 112
  • Android橫豎屏切換小結(jié)Android橫豎屏切換小結(jié)(老樣子,圖片啥的詳細文檔柬祠,可以下載后觀看 http://...
    4528283108ee閱讀 2,594評論 0 1
  • Android手機或平板都會存在橫豎屏切換的功能北戏,通常是由物理重力感應(yīng)觸發(fā)的负芋,但是有時候也不盡然漫蛔,通常在設(shè)置里面我...
    Lost_Robot閱讀 6,691評論 1 5
  • application 應(yīng)用的聲明。包含應(yīng)用組件的聲明和對組件有相關(guān)影響的屬性聲明旧蛾。 name:Applicati...
    星泉毅閱讀 3,351評論 0 3