以華為Mate40手機為例:
專業(yè)從事成都網(wǎng)站建設(shè)、成都做網(wǎng)站,高端網(wǎng)站制作設(shè)計,小程序開發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團隊竭力真誠服務(wù),采用H5技術(shù)+CSS3前端渲染技術(shù),成都響應式網(wǎng)站建設(shè),讓網(wǎng)站在手機、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。
升級HarmonyOS系統(tǒng)后,從屏幕右側(cè)頂部下滑出控制中心界面,點擊自動旋轉(zhuǎn)開啟屏幕自動旋轉(zhuǎn)功能。
全屏
在Activity的onCreate方法中的setContentView(myview)調(diào)用之前添加下面代碼
requestWindowFeature(Window.FEATURE_NO_TITLE);//隱藏標題
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);//設(shè)置全屏
橫屏
按照下面代碼示例修改Activity的onResume方法
@Override
protected void onResume() {
/**
* 設(shè)置為橫屏
*/
if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
super.onResume();
}
或者在配置文件中對Activity節(jié)點添加android:screenOrientation屬性(landscape是橫向,portrait是縱向)
android:launchMode="singleTask" android:screenOrientation="portrait"
要設(shè)置成豎屏設(shè)置成 SCREEN_ORIENTATION_PORTRAIT
// ----------------
常亮
view.setKeepScreenOn(true)
不加任何旋轉(zhuǎn)屏幕的處理代碼的時候,旋轉(zhuǎn)屏幕將會導致系統(tǒng)把當前activity關(guān)閉,重新打開。
如果只是簡單的界面調(diào)整,我們可以阻止此問題的發(fā)生,屏幕旋轉(zhuǎn)而自己調(diào)整屏幕的元素重構(gòu)。
首先我們需要修改AndroidManifest.xml文件:
activity android:name=".Magazine"
/activity
//修改為:
activity android:name=".Magazine"
android:configChanges="orientation|keyboard"
/activity
這樣是讓程序能夠響應旋轉(zhuǎn)屏幕的事件。
然后重寫onConfigurationChanged方法:
@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
Log.v(" == onConfigurationChanged");
processLayout();
}
//----------------------------
在我們用Android開發(fā)過程中,會碰到Activity在切換到后臺或布局從橫屏LANDSCAPE切換到PORTRAIT,會重新切換Activity會觸發(fā)一次onCreate方法。
在Android開發(fā)中這種情況視可以避免的,我們可以在androidmanifest.xml中的activit元素加入這個屬性 android:configChanges="orientation|keyboardHidden" 就能有效避免oncreat方法的重復加載,
androidmanifest.xml內(nèi)容如下:紅色字體為添加部分
?xml version="1.0" encoding="utf-8"?
manifest xmlns:android=""
package="com.demo"
android:versionCode="1"
android:versionName="1.0"
application android:icon="@drawable/icon" android:label="@string/app_name"
activity android:name=".DemoGPS"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
intent-filter
action android:name="android.intent.action.MAIN" /
category android:name="android.intent.category.LAUNCHER" /
/intent-filter
/activity
uses-library android:name="com.google.android.maps" /
/application
uses-sdk android:minSdkVersion="7" /
uses-permission android:name="android.permission.INTERNET"/uses-permission
uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/uses-permission
uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/uses-permission
/manifest
同時在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
}
}
//------------------------------------------------------
關(guān)于Android中Activity的橫豎屏切換問題可以通過AndroidManifest.xml文件中的Activity來配置:
android:screenOrientation=["unspecified" | "user" | "behind" |
? ? ?"landscape" | "portrait" |
? ? ?"sensor" | "nonsensor"]
screenOrientation 用來指定Activity的在設(shè)備上顯示的方向,每個值代表如下含義:
"unspecified" ? ?默認值 由系統(tǒng)來判斷顯示方向.判定的策略是和設(shè)備相關(guān)的,所以不同的設(shè)備會有不同的顯示方向. ?
"landscape" ? ?橫屏顯示(寬比高要長) ?
"portrait" ? ?豎屏顯示(高比寬要長)
"user" ? ?用戶當前首選的方向 ?
"behind" ? ?和該Activity下面的那個Activity的方向一致(在Activity堆棧中的) ?
"sensor" ? ?有物理的感應器來決定。如果用戶旋轉(zhuǎn)設(shè)備這屏幕會橫豎屏切換。 ?
"nosensor" ? ?忽略物理感應器,這樣就不會隨著用戶旋轉(zhuǎn)設(shè)備而更改了 ( "unspecified"設(shè)置除外 )。 ?
更多安卓例子請去360手機助手下載安卓學習手冊,里面有橫豎排例子,源碼,例子隨便看。
標簽中設(shè)置:android:screenOrientation
Activity 在設(shè)備上的顯示方向。如果 Activity 是在 多窗口模式 下運行,系統(tǒng)會忽略該屬性。
其值可以是下列任一字符串:
例如: android:screenOrientation="landscape" 橫屏 android:screenOrientation="portrait" 豎屏
分手機類型進行設(shè)置。
具體分為兩種情況
1、若是使用安卓手機,則可以下拉頂簾菜單,并點擊“自動旋轉(zhuǎn)/縱向”即可?;蛳吕敽煵藛魏?,點擊“屏幕旋轉(zhuǎn)”。綠色為開啟狀態(tài),灰色為關(guān)閉狀態(tài)。關(guān)閉屏幕鎖定后即可調(diào)整手機橫屏狀態(tài);
2、若是蘋果手機,則可以從下往上拉出菜單欄,關(guān)閉菜單欄中的屏幕鎖定,即可成功關(guān)閉手機屏幕鎖定。再將手機橫向放置,手機即可橫屏。vivo智能手機沒有橫屏設(shè)置選項,關(guān)閉豎屏鎖定開關(guān)后,手機會自動切換橫屏豎屏方向。豎屏鎖定關(guān)閉方法:上滑快捷欄-找到豎屏鎖定-關(guān)閉開關(guān)具體操作步驟(以vivoX9為例):
1、從屏幕底部上滑打開快捷欄,左滑找到豎屏鎖定
2、點擊關(guān)閉豎屏鎖定注:圖標亮起代表開啟此功能,熄滅代表關(guān)閉。