android 状态栏、标题栏、屏幕高度
1.獲取狀態(tài)欄高度:?
decorView是window中的最頂層view,可以從window中獲取到decorView,然后decorView有個(gè)getWindowVisibleDisplayFrame方法可以獲取到程序顯示的區(qū)域,包括標(biāo)題欄,但不包括狀態(tài)欄。?
于是,我們就可以算出狀態(tài)欄的高度了。?
2.獲取標(biāo)題欄高度:?
getWindow().findViewById(Window.ID_ANDROID_CONTENT)這個(gè)方法獲取到的view就是程序不包括標(biāo)題欄的部分,
然后就可以知道標(biāo)題欄的高度了。?
1 int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop(); 2 //statusBarHeight是上面所求的狀態(tài)欄的高度 3 int titleBarHeight = contentTop - statusBarHeight?
3.獲取屏幕高度?
1 WindowManager windowManager = getWindowManager(); 2 Display display = windowManager.getDefaultDisplay(); 3 screenWidth = display.getWidth(); 4 screenHeight = display.getHeight();?
1 DisplayMetrics dm = new DisplayMetrics(); 2 this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指當(dāng)前activity 3 screenWidth =dm.widthPixels; 4 screenHeight =dm.heightPixels;?
以上兩種方法在屏幕未顯示的時(shí)候,還是處于0的狀態(tài),即要在setContentView調(diào)用之后才有效。?
?
設(shè)置為無(wú)標(biāo)題 ?requestWindowFeature(Window.FEATURE_NO_TITLE); ?
設(shè)置為全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); ? ?
設(shè)置為橫屏?setRequesteOrientation(ActivityInfo.SCREEN_ORIENTATION_LADSCAPE);?
?
在開發(fā)中我們經(jīng)常需要把我們的應(yīng)用設(shè)置為全屏,這里我所知道的有倆中方法,一中是在代碼中設(shè)置,另一種方法是在配置文件里改!?
1 public void onCreate(Bundle savedInstanceState) { 2 super.onCreate(savedInstanceState); 3 //去除title 4 requestWindowFeature(Window.FEATURE_NO_TITLE); 5 //去掉Activity上面的狀態(tài)欄 6 getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , 7 WindowManager.LayoutParams. FLAG_FULLSCREEN); 8 9 setContentView(R.layout.main); 10 } 1 <application android:icon="@drawable/icon" android:label="@string/app_name"> 2 <activity android:name=".OpenGl_Lesson1" 3 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 4 android:label="@string/app_name"> 5 <intent-filter> 6 <action android:name="android.intent.action.MAIN" /> 7 <category android:name="android.intent.category.LAUNCHER" /> 8 </intent-filter> 9 </activity> 10</application>?
總結(jié)
以上是生活随笔為你收集整理的android 状态栏、标题栏、屏幕高度的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 奇怪的问题,疑惑?不用的 User ag
- 下一篇: 关于 Method Swizzing方法