導航:首頁 > 操作系統 > android判斷是否橫屏

android判斷是否橫屏

發布時間:2022-06-12 22:29:27

① 安卓軟體是怎麼感知橫屏豎屏。

智能手機里都具有陀螺儀,可以感知人的3D動作:
陀螺儀又叫角速度感測器,是不同於加速度計(G-sensor)的,他的測量物理量是偏轉、傾斜時的轉動角速度。在手機上,僅用加速度計沒辦法測量或重構出完整的3D動作,測不到轉動的動作的,G-sensor只能檢測軸向的線性動作。但陀螺儀則可以對轉動、偏轉的動作做很好的測量,這樣就可以精確分析判斷出使用者的實際動作。而後根據動作,可以對手機做相應的操作!
這些軟體也是藉助手機自身硬體的陀螺儀來變換的。

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

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

③ 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"設置除外 )。

④ android怎麼設置橫豎屏切換

方法一:

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

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

@Overrideprotected 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">

/**
* 返回當前屏幕是否為豎屏。
* @param context
* @return 當且僅當當前屏幕為豎屏時返回true,否則返回false。
*/
public static boolean isScreenOriatationPortrait(Context context) {
return context.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT;
}

⑥ 如何檢查Android手機是橫向還是縱向

用於確定要檢索哪些資源的當前配置可從資源的Configuration對象中獲得:

getResources().getConfiguration().orientation;

可以通過查看方向值來檢查方向:

int orientation = getResources().getConfiguration().orientation;

if (orientation == Configuration.ORIENTATION_LANDSCAPE) {

// In landscape
} else {

// In portrait

}

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

可以有兩種方式:

  1. 動態設置,也就是在代碼里

首先,判斷語句是這樣的:

if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE),這里判斷是否為橫屏,橫豎屏在ActivityInfo里可以選擇。

然後設置橫豎屏:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

上面是第一種方法;

2.在配置文件中對Activity節點添加android:screenOrientation屬性(landscape是橫向,portrait是縱向)

android:launchMode="singleTask" android:screenOrientation="portrait">

要設置成豎屏設置成 SCREEN_ORIENTATION_PORTRAIT

⑧ Android項目中能否判斷手機屏幕是 朝上 還是 朝下

// 獲取手機橫豎屏的方法
public boolean isScreenChange() {
Configuration mConfiguration = this.getResources().getConfiguration(); // 獲取設置的配置信息
int ori = mConfiguration.orientation; // 獲取屏幕方向
if (ori == Configuration.ORIENTATION_LANDSCAPE) {
// 橫屏
return true;
} else if (ori == Configuration.ORIENTATION_PORTRAIT) {
// 豎屏
return false;
}
return false;
}
這個方法來判斷是否是橫豎屏

⑨ Android怎樣判斷當前屏幕是否為橫屏狀態

Configuration mConfiguration = this.getResources().getConfiguration(); //獲取設置的配置信息int ori = mConfiguration.orientation; //獲取屏幕方向if (ori == mConfiguration.ORIENTATION_LANDSCAPE) { //橫屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//強制為豎屏} else if (ori == mConfiguration.ORIENTATION_PORTRAIT) { //豎屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//強制為橫屏}

閱讀全文

與android判斷是否橫屏相關的資料

熱點內容
python連接本地資料庫報錯 瀏覽:192
手機模擬加密禁卡操作 瀏覽:104
電荷數怎麼演算法 瀏覽:589
cad如何打開命令行 瀏覽:150
php圖片限制大小 瀏覽:163
程序員一夜未歸 瀏覽:592
蘋果xsmaxapp怎麼不顯示更新 瀏覽:600
蘋果app怎麼清除角標 瀏覽:483
解壓屁屁玩具臟了怎麼辦 瀏覽:670
演算法識別自動折疊 瀏覽:9
dos命令遍歷文件 瀏覽:455
翻譯整個pdf 瀏覽:198
怎麼給解壓軟體授權 瀏覽:621
怎麼換手機桌面壁紙安卓 瀏覽:957
pdf轉換閱讀器 瀏覽:344
特斯拉怎麼app預約充電 瀏覽:498
安卓怎麼錄像更清晰 瀏覽:919
怎麼伺服器輸入命令沒有顯示出來 瀏覽:799
玩吃雞怎麼取消資源編譯 瀏覽:616
安卓如何不用密碼改密碼 瀏覽:399