編輯:關於Android編程
接著上一個問題,解決了SurfaceView閃屏問題之後(http://www.jb51.net/article/101909.htm),又有了一個新的問題。現在我想設置含有fragment+viewpager的activity橫屏。其中一個fragment有視頻播放功能,含SurfaceView.
當我橫屏拿著平板時,打開程序進入到該activity,是正常的。當豎屏拿著打開程序進入到該activity時,就會一直處於黑屏的狀態。原因應該還是SurfaceView。難道程序轉入後台或者黑屏以後(只要是不繪制狀態),屏幕方向就是系統默認的屏幕方向嗎?
解決:
1.在AndroidManifest.xml的對應的activty中,設置android:screenOrientation="nosensor",即 忽略物理感應器,這樣就不會隨著用戶旋轉設備而更改了 ( "unspecified"設置除外 )
設置android:configChanges="orientation|keyboardHidden|keyboard",橫豎屏切換時,不會重新加載頁面。
2.在對應的Activity中設置橫屏。setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
相關詳解:關於Android設置全屏和橫屏
橫屏設置
XML文件設置--portrait為縱向,landscape為橫向
android:screenOrientation=["unspecified" | "user" | "behind" |"landscape" | "portrait" | "sensor" | "nonsensor"]
screenOrientation 用來指定Activity的在設備上顯示的方向,每個值代表如下含義:
"unspecified" 默認值 由系統來判斷顯示方向.判定的策略是和設備相關的,所以不同的設備會有不同的顯示方向.
"landscape" 橫屏顯示(寬比高要長)
"portrait" 豎屏顯示(高比寬要長)
"user" 用戶當前首選的方向
"behind" 和該Activity下面的那個Activity的方向一致(在Activity堆棧中的)
"sensor" 有物理的感應器來決定。如果用戶旋轉設備這屏幕會橫豎屏切換。
"nosensor" 忽略物理感應器,這樣就不會隨著用戶旋轉設備而更改了 ( "unspecified"設置除外 )。
代碼設置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
全屏兩種方法:
方法一:java代碼
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //設置無標題 requestWindowFeature(Window.FEATURE_NO_TITLE); //設置全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); }
方法二:xml布局
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andyidea" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" /> <application android:icon="@drawable/icon" android:label="@string/app_name" > <activity android:name=".login.LoginActivity" android:label="@string/app_name" android:theme="@android:style/android.NoTitleBar.Fullscreen" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持本站!
安卓6.0 Marshmallow棉花糖版本雖然普及率依然可憐至極,但這並不能阻擋Google開發並推出下一個版本Android N,預計將會是
本文代碼以MTK平台Android 4.4為分析對象,與Google原生AOSP有些許差異,請讀者知悉。 本文主要介紹sim卡數據的讀取過程,當射頻狀態處於
titlebargithub地址一個簡單易用的導航欄TitleBar,可以輕松實現IOS導航欄的各種效果整個代碼全部集中在TitleBar.java中,所有控件都動態生成
launcher,也就是Android的桌面應用程序。下圖是我正在使用的魅族手機的launcher應用程序: 接下來我們要開發一個自己的launcher,使其替