導航:首頁 > 操作系統 > android豎屏

android豎屏

發布時間:2022-02-10 11:56:59

1. android如何判斷當前是橫屏還是豎屏

用這個方法getActivity().getResources().getConfiguration().orientation
1豎屏0橫屏

2. android能在橫屏狀態顯示豎屏alertdialog對話框嗎

橫屏狀態下顯示的所有東西都是橫向的,不能彈出豎屏alertdialog對話框, 為什麼會有這樣的需求呢? 這個不合理啊, 橫屏下肯定是以橫向來創建控制項的。

3. android如何禁止橫豎屏切換

禁用橫豎屏切換,有兩種方式,第一種是在配置文件中配置,第二種是在java代碼中設置。

第一種是在AndroidManifest.xml中,為activity節點配置android:screenOrientation屬性,指定該activity為豎屏或橫屏,我們將上面的這個activity的配置為豎屏,如下:

<activity
android:name="chengyujia.androidtest.OrientationActivity"
android:screenOrientation="portrait" />
再運行測試,此時無論手機屏幕方向如何,該activity始終是豎屏的。如果android:screenOrientation="landscape" 則始終是橫屏。

下面來看第二種,

只要在onCreate方法中加一句

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
即可始終保持豎屏,如果要橫屏,代碼是

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

4. android如何在代碼中判斷橫豎屏

Android中判斷橫豎屏是通過Configuration 這個類來判斷的。

  1. Configuration.ORIENTATION_LANDSCAPE 表示橫屏。

  2. Configuration.ORIENTATION_PORTRAIT表示豎屏。


以下是完整代碼:

public boolean isScreenChange() {

Configuration mConfiguration = context.getResources().getConfiguration(); //獲取設置的配置信息
int ori = mConfiguration.orientation ; //獲取屏幕方向
if(ori == Configuration.ORIENTATION_LANDSCAPE){
//橫屏
return true;
}else if(ori == Configuration.ORIENTATION_PORTRAIT){
//豎屏
return false;
}
return false;
}


避免在轉屏時重啟Activity

android中每次屏幕方向切換時都會重啟Activity,所以應該在Activity銷毀前保存當前活動的狀態,在Activity再次 Create的時候載入配置,那樣,進行中的游戲就不會自動重啟了!
要避免在轉屏時重啟Activity,可以通過在AndroidManifest.xml文件中重新定義方向(給每個Activity加上android:configChanges=」keyboardHidden|orientation」屬性)。
在需要控制屏幕顯示方向的Activity中重寫onConfigurationChanged(Configuration newConfig)方法,這樣在轉屏時就不會重啟Activity了。

5. android怎麼設置橫豎屏切換

方法一:

1、首先在android手機打開「設置」這個選項的,點擊「顯示」這個功能;

6. android中如何禁止豎屏,且橫屏可以旋轉

1、在AndroidManifest.xml里設置

android:screenOrientation="landscape", 強制橫屏 ,不旋轉

android:screenOrientation="sensorLandscape" 強制橫屏,可旋轉

常見屬性:

"unspecified":默認值 由系統來判斷顯示方向.判定的策略是和設備相關的,所以不同的設備會有不同的顯示方向.

"landscape":橫屏顯示(寬比高要長)

"portrait":豎屏顯示(高比寬要長)

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

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

"sensor":有物理的感應器來決定。如果用戶旋轉設備這屏幕會橫豎屏切換。

"nosensor":忽略物理感應器,這樣就不會隨著用戶旋轉設備而更改了("unspecified"設置除外)。

2、在activity中設置

@Override
protectedvoidonResume(){
super.onResume();
Log.i(TAG,"onResumecalled.");
try{
//強制橫屏,不允許橫屏旋轉
//ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
//強制橫屏,允許橫屏旋轉
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
}catch(NullPointerExceptione){}
}

7. android編譯的時候 是如何配置默認顯示橫豎屏

1,在Mainfest中設置。同意樓上的。
2,在OnStart或者OnCreate中設置也可以。

如果你說設置系統的話,這個就得看系統源碼是如何配置的,記得不是太清了,在Configure.java裡面吧,有幾個函數是根據一些常量設定每個 橫縱屏的設置。你應該不是做系統的吧,因為不會有任何一個廠商會讓系統所有的內容都定死。

8. android系統強制橫豎屏實現

橫屏:
按照下面代碼示例修改Activity的onResume方法
@Override
protected void onResume() {
/**
* 設置為橫屏
*/
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
super.onResume();
}

或者在配置文件中對Activity節點添加android:screenOrientation屬性(landscape是橫向,portrait是縱向)
android:launchMode="singleTask" android:screenOrientation="portrait">

豎屏:
要設置成豎屏將上面代碼中,屬性設置成 SCREEN_ORIENTATION_PORTRAIT即可。

9. android 強制設置橫屏 判斷是橫屏還是豎屏

判斷activity 是橫屏還是豎屏
方法 1: //根據設備配置信息
Configuration cf= this.getResources().getConfiguration(); //獲取設置的配置信息
int ori = cf.orientation ; //獲取屏幕方向
if(ori == cf.ORIENTATION_LANDSCAPE){
//橫屏
}else if(ori == cf.ORIENTATION_PORTRAIT){
//豎屏
}

方法2: 通過設備解析度還判斷

DisplayMetrics dm = new DisplayMetrics();
mLauncher.getWindowManager().getDefaultDisplay().getMetrics(dm);
mWidth = dm.widthPixels;
mHeight = dm.heightPixels;
if (mHeight > mWidth){//layout port
// 豎屏 .......
}else{//layout land
// 橫屏 .......
}

設置程序 橫屏還是豎屏 有兩種方法 1:通過配置實習 2: 代碼實現
方法2://重寫activity onResume方法
@Override protected void onResume() {
/** * 設置為橫屏 */
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :橫
//SCREEN_ORIENTATION_PORTRAIT:豎
}
super.onResume();
}
方法2: 配置androidManifest.xml實現
在activity 中加入 android:screenOrientation="landscape" 信息即可 該屬性有兩個值 portrait//豎 landscape//橫

<activity android:name="MainActivity" android:label="@string/app_name" android:screenOrientation="landscape">
</activity>

搞定 快去試試 吧 不過細心的朋友 會發現 咦 當我屏幕的方向 發生變化的時候為啥 activity 的onCreate 怎麼會重新載入呢

原因是: 由於屏幕的旋轉會造出 當然的activity 元素關閉 從而造出activity重新載入 ,顯然這有時候並不是我們要的效果 , 那我們 在看看 如果解決這個問題吧
我們在androidManifest.xml 文件中 activity 節點加入紅色的 屬性

<activity android:name="MainActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:configChanges="orientation|keyboardHidden">
</activity>

1、不設置Activity的android:configChanges時,切屏會重新調用各個生命周期,切橫屏時會執行一次,切豎屏時會執行兩次

2、設置Activity的android:configChanges="orientation"時,切屏還是會重新調用各個生命周期,切橫、豎屏時只會執行一次

3、設置Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged方法

同時在Activity的Java文件中重載onConfigurationChanged(Configuration newConfig)這個方法,這樣就不會在布局切換或窗口切換時重載等方法。代碼如下:
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
//land
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
//port
}
}

//------------------------------------------------------

關於Android中Activity的橫豎屏切換問題可以通過AndroidManifest.xml文件中的Activity來配置:
android:screenOrientation=["unspecified" | "user" | "behind" |
"landscape" | "portrait" |
"sensor" | "nonsensor"]
screenOrientation 用來指定Activity的在設備上顯示的方向,每個值代表如下含義:

"unspecified" 默認值 由系統來判斷顯示方向.判定的策略是和設備相關的,所以不同的設備會有不同的顯示方向.
"landscape" 橫屏顯示(寬比高要長)
"portrait" 豎屏顯示(高比寬要長)
"user" 用戶當前首選的方向
"behind" 和該Activity下面的那個Activity的方向一致(在Activity堆棧中的)
"sensor" 有物理的感應器來決定。如果用戶旋轉設備這屏幕會橫豎屏切換。
"nosensor" 忽略物理感應器,這樣就不會隨著用戶旋轉設備而更改了 ( "unspecified"設置除外 )。

10. 如何才能讓Android系統永遠是豎屏

不用這么麻煩,在設置里選「聲音和顯示」,裡面有個方向(旋轉手機時自動改變方向),把勾去掉就行

閱讀全文

與android豎屏相關的資料

熱點內容
存儲伺服器主機硬碟怎麼裝 瀏覽:411
編程相關短語 瀏覽:234
不用電腦安卓手機怎麼降級 瀏覽:979
lib文件編譯完可以刪除嗎 瀏覽:888
2020江西買車購置稅演算法 瀏覽:222
百度已解壓文件在哪 瀏覽:88
小米安卓turbo手勢怎麼用 瀏覽:941
php框架作用 瀏覽:35
python消息自定義 瀏覽:949
四川內江電信寬頻伺服器雲主機 瀏覽:953
編譯後的源文件到哪找 瀏覽:956
小米多模網關如何接入aqaraapp 瀏覽:915
python為什麼true 瀏覽:591
androidfonts 瀏覽:341
51單片機外接電源維修 瀏覽:337
文件解壓軟體是幹嘛的 瀏覽:936
linux設置伺服器端ip地址 瀏覽:360
如何把代碼編譯出來 瀏覽:129
python之禪中文版 瀏覽:752
androidbluetooth開發 瀏覽:681