手機屬性設置(全屏、橫豎屏)
全屏
在Activity的onCreate方法中的setContentView(myview)調(diào)用之前添加下面代碼
requestWindowFeature(Window.FEATURE_NO_TITLE);//隱藏標題 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, ??WindowManager.LayoutParams.FLAG_FULLSCREEN);//設置全屏
橫屏
按照下面代碼示例修改Activity的onResume方法
@Override protected?void?onResume()?{ ?/** ??*?設置為橫屏 ??*/ ?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">
要設置成豎屏設置成 SCREEN_ORIENTATION_PORTRAIT
// ----------------
常亮
view.setKeepScreenOn(true)
不加任何旋轉(zhuǎn)屏幕的處理代碼的時候,旋轉(zhuǎn)屏幕將會導致系統(tǒng)把當前activity關閉,重新打開。
如果只是簡單的界面調(diào)整,我們可以阻止此問題的發(fā)生,屏幕旋轉(zhuǎn)而自己調(diào)整屏幕的元素重構(gòu)。
首先我們需要修改AndroidManifest.xml文件:
//修改為:
<activity android:name=".Magazine"
??android:configChanges="orientation|keyboard">
這樣是讓程序能夠響應旋轉(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方法的重復加載,
??
同時在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
"
默認值 由系統(tǒng)來判斷顯示方向.判定的策略是和設備相關的,所以不同的設備會有不同的顯示方向.
"landscape
"
橫屏顯示(寬比高要長)
"portrait
"
豎屏顯示(高比寬要長)
"user
"
用戶當前首選的方向
"behind
"
和該Activity下面的那個Activity的方向一致(在Activity堆棧中的)
"sensor
"
有物理的感應器來決定。如果用戶旋轉(zhuǎn)設備這屏幕會橫豎屏切換。
"nosensor
"
忽略物理感應器,這樣就不會隨著用戶旋轉(zhuǎn)設備而更改了 ( "unspecified
"設置除外 )。