導航:首頁 > 操作系統 > android模擬器橫豎屏切換

android模擬器橫豎屏切換

發布時間:2022-12-31 06:03:46

『壹』 android模擬器怎樣換成橫屏 請各位說仔細點吧

1.模擬器尚未啟動,可以在Eclipse的項目Run as=>Open Run Dialog對話框中設置
2.android模擬器已經啟動後,可以使用快捷鍵F12或Ctrl+F11來切換
3.當然是用命令行僅僅啟動模擬器可以使用參數emulator.exe -skin HVGA-L 來啟動

『貳』 Android的 MySurfaceView 的橫 豎屏切換問題

一、禁止橫豎屏轉換
Android橫豎屏切換在手機開發中比較常見,很多軟體在開發過程中為了避免橫豎屏切換時引發不必要的麻煩,通常禁止掉橫豎屏的切換,
通過在AndroidManifest.xml中設置activity中的android:screenOrientation屬性值來實現。
比如下列設置
android:screenOrientation="portrait"
則無論手機如何變動,擁有這個屬性的activity都將是豎屏顯示。
android:screenOrientation="landscape",為橫屏顯示。
上述修改也可以在java代碼中通過類似如下代碼來設置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
另外,android中每次屏幕的切換動會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了!

二、橫豎屏切換
如果要讓軟體在橫豎屏之間切換,由於橫豎屏的高寬會發生轉換,有可能會要求不同的布局。可以通過以下兩種方法來切換布局:
1)在res目錄下建立layout-land和layout-port目錄,相應的layout文件名不變,比如main.xml。layout-land是橫屏的layout,layout-port是豎屏的layout,其他的不用管,橫豎屏切換時程序為調用Activity的onCreate方法,從而載入相應的布局。
2)假如布局資源不按照如上設置,則可以通過java代碼來判斷當前是橫屏還是豎屏然後來載入相應的xml布局文件。因為當屏幕變為橫屏的時候,系統會重新呼叫當前Activity的onCreate方法,你可以把以下方法放在你的onCreate中來檢查當前的方向,然後可以讓你的setContentView來載入不同的layout xml。
if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE)
{
Log.i("info", "landscape"); // 橫屏
} else if(this.getResources().getConfiguration().orientation==Configuration.ORIENTATION_PORTRAIT)
{
Log.i("info", "portrait"); // 豎屏
}
三、通過onConfigurationChanged攔截橫豎屏變換
按照二的操作,Activity每次橫豎屏切換都會重新調用onPause-> onStop-> onDestory-> onCreate->onStart->onResume,為此涉及到內容和數據的保存和讀取,否則轉屏之前的內容就會消失了。很多時候這樣的結果讓程序繁瑣,為此Android提供了在manifest中設置android:configChanges屬性,從而讓Activity不延續上述的重建流程。在Android工程的Mainfest.xml中配置Activity:android:configChanges="keyboardHidden|orientation",橫豎屏切換之後就不會去執行OnCreat函數了,而是會去調用onConfigurationChanged()這樣就能控制橫豎屏的切換了。用戶可以在Activity或View的onConfigurationChanged(Configuration newConfig)函數中獲取當前橫豎屏參數。至於其調用順序跟touch時間的傳遞順序相似,不過他沒有消費事件的概念,會順次調用到每一個onConfigurationChanged函數。
需要重寫Activity的onConfigurationChanged方法。實現方式如下,不需要做太多的內容:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
// land do nothing is ok
} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
// port do nothing is ok
}
}
需要注意的是,onConfigurationChanged函數中只能獲得橫豎屏切換後的參數,在該函數中獲取不到新的Layout和控制項的尺寸位置信息,如果要處理尺寸和位置信息,必須通過消息非同步或者延時調用。
四、徹底禁止翻轉
當然如果要徹底禁止翻轉,可以設置android:screenOrientation的屬性為nosensor,如此就可以忽略重力感應帶來的麻煩了。不過在模擬器上不管用,在真機上是正確的。
這里提一個小知識,Android模擬器中,快捷鍵"Ctrl+F11/F12"可以實現轉屏
五,自適應轉換
如果想讓它啟動的時候是橫屏的話就橫屏表示,縱屏的話就縱屏表示,然後手機切換橫豎屏就不能用了該怎麼解決呢?
首先:在Mainfest.xml中追加
android:screenOrientation="sensor" android:configChanges="orientation|keyboardHidden"
這兩個屬性。
第二步:取得屏幕的長和寬,進行比較設置橫豎屏的變數。
1. Display display = getWindowManager().getDefaultDisplay();
2. int width = display.getWidth();
3. int height = display.getHeight();
4. if (width > height) {
5. orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; //橫屏
6. } else {
7. orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; //豎屏
8. }
第三步:在onConfigurationChanged()函數中追加this.setRequestedOrientation(orientation)就行了
1. public void onConfigurationChanged(Configuration newConfig) {
2. super.onConfigurationChanged(newConfig);
3. this.setRequestedOrientation(orientation);
4. }
但是這樣的話你切到別的畫面的時候再回到原畫面,它就仍然是橫的或者是縱的。怎麼讓它從別的屏幕回來後,又重新橫豎屏布局呢?
只要在OnResume()中在設定下就行了。但是這個只支持橫豎屏只有一個layout的。橫豎屏分別對應layout的還不知道該怎麼解決。
1. protected void onResume() {
2. orientation = ActivityInfo.SCREEN_ORIENTATION_USER;
3. this.setRequestedOrientation(orientation);
4. Display display = getWindowManager().getDefaultDisplay();
5. int width = display.getWidth();
6. int height = display.getHeight();
7. if (width > height) {
8. orientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
9. } else {
10. orientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
11. }
12. super.onResume();
13. }
六、總結
總之,對於橫豎屏切換的問題,統計了下,大家的解決辦法是:
①不理會。。
②只豎屏顯示(android:screenOrientation="portrait")
只橫屏顯示(android:screenOrientation="landscape")
③簡單的防止重載:
在 AndroidManifest.xml中加入:android:configChanges="orientation|keyboardHidden"
在activity中重載onConfigurationChanged事件
@Override
public void onConfigurationChanged(Configuration config) {
super.onConfigurationChanged(config);
}
④橫豎屏分別布局
橫豎屏分別布局的方法是:
在res下新建
layout-land 橫屏
layout-port 豎屏
然後把layout中的xml文件分別考到以上目錄,修改布局就可以了代碼中不做任何更改。
在 AndroidManifest.xml文件中的 主Activity中加入
android:configChanges="orientation|keyboardHidden"
然後在主Activity中的onConfigurationChanged加入
@Override
public void onConfigurationChanged(Configuration config) {
super.onConfigurationChanged(config);

if (config.orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.main); //布局
tv = (TextView) findViewById(R.id.EditText01); //控制項
}

if (config.orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.main); //布局
tv = (TextView) findViewById(R.id.EditText01); //控制項
}
}
七、示例詳細步驟
//------ 第一步:獲得許可
需要在中添加相應許可
//------ 第二步:根據不同的目標,針對Activity進行設置
目標1:屏蔽橫豎屏的切換
步驟:為Activity設置一個默認的屏幕方向 方法如下:
在AndroidManifest.xml中找到該Activity 添加代碼:

android:name=".ActivityName"
android:screenOrientation="landscape"
>
設置Activity的默認方向為「橫向」
此處的screenOrientation有如下選項:
==================================================================
= unspecified 默認值,由系統判斷狀態自動切換
= landscape 橫屏
= portrait 豎屏
= user 用戶當前設置的orientation值
= behind 下一個要顯示的Activity的orientation值
= sensor 使用感測器 感測器的方向
= nosensor 不使用感測器 基本等同於unspecified
==================================================================
目標2:防止Activity的銷毀
步驟:為Activity設置configChanges屬性
在AndroidManifest.xml中找到該Activity 添加代碼:

android:name=".ActivityName"
android:configChanges="orientation|keyboardHidden"
>
此處的configChanges有如下選項:
==================================================================
= orientation 屏幕在縱向和橫向間旋轉
= keyboardHidden 鍵盤顯示或隱藏
= fontScale 用戶變更了首選的字體大小
= locale 用戶選擇了不同的語言設定
= keyboard 鍵盤類型變更,例如手機從12鍵盤切換到全鍵盤
= touchscreen或navigation 鍵盤或導航方式變化,一般不會發生這樣的事件
==================================================================
如果需要多個選項 用"|"隔開
此處注意:如果是在實體機上測試橫豎屏切換 需要orientation選項
【重點】如果要使得程序可以在Android模擬器上測試 需要寫orientation|keyboardHidden
如果缺少了keyboardHidden選項 不能防止Activity的銷毀
並且在之後提到的onConfigurationChanged事件中 只能捕獲豎屏變橫屏的事件 不能捕獲橫屏變豎屏
目標3:捕獲橫豎屏切換的事件
步驟:在Activity中(ActivityName.java)重寫onConfigurationChanged事件
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
switch (newConfig.orientation)
{
//更改為LANDSCAPE
case (Configuration.ORIENTATION_LANDSCAPE):
//如果轉換為橫向屏時,有要做的事,請寫在這里
break;
//更改為PORTRAIT
case (Configuration.ORIENTATION_PORTRAIT):
//如果轉換為豎向屏時,有要做的事,請寫在這里
break;
}
}
八、備註:
1、不設置Activity的android:configChanges時,切屏會重新調用各個生命周期,切橫屏時會執行一次,切豎屏時會執行兩次
2、設置Activity的android:configChanges="orientation"時,切屏還是會重新調用各個生命周期,切橫、豎屏時只會執行一次
3、設置Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged方法

『叄』 雷電模擬器橫屏是倒著的

重新設置橫豎屏模式或者重啟模擬器。
調整橫豎屏模式:打開雷電安卓模擬器,點擊設置按鈕。點擊高級設置,設置平板版或手機版切換,點擊保存就行了。
雷電模擬器設置強制鎖定橫屏:點擊打開「雷電模擬器」軟體,進入雷電模擬器後,點擊設置,進入設置後,點擊「基本設置」,進入基本設置後,開啟「強制鎖定橫屏」,設置好強制鎖定橫屏後,點擊「保存設置」即可。

『肆』 聯想z410安卓模擬器怎麼切換橫屏豎屏

打開模擬器,這個時候同時按下ctrl+F12就可以切換到橫屏。
答題不易,互相理解,您的採納是我前進的動力
如果我的回答沒能幫助您,請繼續追問
您也可以向我們團隊發出請求,會有更專業的人來為您解答

『伍』 android模擬器編程橫豎屏切換的問題

如果你只是想在電腦上用安卓軟
件,我推薦用一個軟體!

建議:裝這個軟體前先裝好Java,反正模擬也要的!

BlueStacks – 可直接在電腦上運行Android 軟體游戲的模擬器!瞬間將電腦變成安卓手機(不是真的變,是通過這個軟體玩安卓各種游戲應用)

BlueStacks支持多國語言包含簡體中文,支持慣性加速(等於用滑鼠實現更真實的手指觸摸效果),並且也預裝了水果忍者、塗鴉切割、家園、Evernote等知名游戲或應用,讓你暢玩到底。當然,它裡面還有一些應用商店等,你可以下載更多更好玩的東西……

BlueStacks可以運行任何安卓軟
件,不用理會是2.2還是4.0系統,這個模擬器只要是安卓軟體就能運行!

BlueStacks App Player
用這個運行速度快,相對Android SDK又小!
而且Android SDK即使能用了,但模擬出來的手機內存又很小,根本裝不了多少軟體,而且又很卡!
如果你不信,你可以創建一個2.2的模擬手機來試試,肯定會比較卡。

解決方法也有,那就是增加模擬手機的rom和ram大小,具體代碼可網路谷歌得到,我用手機不太方便~~

這個模擬器安裝方便,本來就是裝一個軟體的過程!
只要下載這個軟體安裝就行了!

『陸』 電腦安卓模擬器怎麼橫屏

我知道用ctrl+f11啊,不過這個要啟動了才能用,我是想讓默認啟動就為橫屏,不用每次起來都按ctrl+f11,多麻煩啊
2013-08-04
0
其他回答 5條回答
匿名用戶
在你創建模擬器的時候有一個配置,需要你設置高和寬,一般沒人選擇,都是默認的,如果你要橫屏,直接填一下就好了.我當初公司的pad是847*480.設置一下就橫屏了.
2013-08-04
0
匿名用戶
1. 點擊模擬器按鈕,打開模擬器。
2. 同時按下ctrl+F12就可以切換到橫屏。
3. 打開一個應用檢測一下是否橫屏。

4. 如果想要撤銷,只需要再按ctrl+F12就可以。
2013-08-04
0
明天.你好
這個應該不是問題,模擬器和真機還是有區別的,你可以在模擬器上裝一個搜狗輸入法看看,可能是自帶的輸入法的問題,橫屏也是可以彈出輸入法的
2016-01-06
0
匿名用戶
樓上正解,橫豎屏轉換很快的,不用默認那個屏了吧
2013-08-05
0
匿名用戶
所有的模擬器頂部或者側邊都有個 齒輪一樣的設置按鈕,裡面可以設置解析度,自己調整成平板模式是橫版或者手機模式豎版

『柒』 android模擬器怎麼橫屏啟動

  1. 點擊模擬器按鈕,打開模擬器。

  2. 同時按下ctrl+F12就可以切換到橫屏。

  3. 打開一個應用檢測一下是否橫屏。

  4. 如果想要撤銷,只需要再按ctrl+F12就可以。

『捌』 雷電模擬器玩游戲橫豎屏為什麼自動切換

雷電模擬器玩游戲橫豎屏自動切換是模擬器自動設置的,如果不想要這種模式,可以這樣設置:

打開雷電安卓模擬器,點擊設置按鈕;點擊高級設置,設置平板版或手機版切換,點擊保存就行。

『玖』 android開發 使用夜神模擬器 屏幕旋轉問題

沒想到在中演示時候遇到了崩潰,檢查發現是Asdk關閉之後在Bsdk的onActivityResult 方法,B頁面成員變數丟失。
最終發現有夜神模擬器有橫豎屏切換,加上沒有保存現場,由於頁面都是豎屏,於是選擇了最簡單的在AndroidManifest 配置了

強制豎屏,但是還是在返回過程中 模擬器切換橫屏頁面一閃而過,debug驗證確認。這種情況再正常情況下不會出現,考慮是不是夜神模擬器做了橫屏的修改。
解決辦法
1.頁面做了保存現場,和現場恢復

2.夜神模擬器在後台直接配置成手機豎屏模式

如果還有其他解決方法,可以討論一下

『拾』 NOX夜神安卓模擬器使用技巧之進行橫豎屏切換的辦法

方法/步驟
1、大家在玩游戲的時候會遇到橫豎屏切換問題,那麼如何進行nox夜神模擬器的橫豎屏切換呢?
請看如下操作:
1.打開夜神模擬器的設置按鈕
2、設置豎屏或橫屏切換
3、保存設置,重新啟動nox夜神模擬器

閱讀全文

與android模擬器橫豎屏切換相關的資料

熱點內容
vr怎麼看視頻演算法 瀏覽:84
手機app如何申報個人所得稅零申報 瀏覽:690
如何截獲手機app連接的ip 瀏覽:330
冰箱壓縮機是否需要電容 瀏覽:344
python列表每一行數據求和 瀏覽:274
自己有一台伺服器可以玩什麼 瀏覽:656
社會學波普諾pdf 瀏覽:584
解壓做食物的小視頻 瀏覽:758
pdf怎麼單獨設置文件夾 瀏覽:474
業務邏輯程序員 瀏覽:659
addto新建文件夾什麼意思 瀏覽:160
有伺服器地址怎麼安裝軟體 瀏覽:659
安卓如何完全清除數據 瀏覽:690
安卓安卓證書怎麼信任 瀏覽:53
伺服器被攻擊如何解決 瀏覽:221
學霸變成程序員 瀏覽:881
c語言編譯錯誤fatalerror 瀏覽:441
ipv4內部伺服器地址怎麼分配 瀏覽:464
java線程安全的方法 瀏覽:952
重復命令畫梯形 瀏覽:166