requestWindowFeature()的应用
原文出處:http://blog.csdn.net/heng615975867/article/details/8735550
Android開發(fā)中經(jīng)常會在setContentView(R.layout.main_activity); 前設置requestWindowFeature(Window.xxx)。作用是需要軟件全屏顯示、自定義標題(使用按鈕等控件)和其他的需求
首先介紹一個重要方法那就是requestWindowFeature(featrueId),它的功能是啟用窗體的擴展特性。參數(shù)是Window類中定義的常量。
一、枚舉常量
DEFAULT_FEATURES:系統(tǒng)默認狀態(tài),一般不需要指定
FEATURE_CONTEXT_MENU:啟用ContextMenu,默認該項已啟用,一般無需指定
FEATURE_CUSTOM_TITLE:自定義標題。當需要自定義標題時必須指定。如:標題是一個按鈕時
FEATURE_INDETERMINATE_PROGRESS:不確定的進度
FEATURE_LEFT_ICON:標題欄左側(cè)的圖標
FEATURE_NO_TITLE:沒有標題
FEATURE_OPTIONS_PANEL:啟用“選項面板”功能,默認已啟用。
FEATURE_PROGRESS:進度指示器功能
FEATURE_RIGHT_ICON:標題欄右側(cè)的圖標
二、詳解
默認顯示狀態(tài)
FEATURE_CUSTOM_TITLE詳解
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main);這是因為沒有設置Featrue
在上面代碼后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
自定義標題完成,它是一個xml文件布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:textColor="#000000" android:text="FEATURE_CUSTOM_TITLE" /> </LinearLayout>FEATURE_INDETERMINATE_PROGRESS
可以用來表示一個進程正在運行
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress); setProgressBarIndeterminateVisibility(true); <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" > <ProgressBar android:id="@+id/progress" style="?android:attr/progressBarStyleSmallTitle" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" > </ProgressBar> </LinearLayout>FEATURE_LEFT_ICON和FEATURE_RIGHT_ICON
requestWindowFeature(Window.FEATURE_RIGHT_ICON); setContentView(R.layout.main); getWindow().setFeatureDrawableResource(Window.FEATURE_RIGHT_ICON,R.drawable.ic_launcher); requestWindowFeature(Window.FEATURE_LEFT_ICON); setContentView(R.layout.main); getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON,R.drawable.ic_launcher);FEATURE_NO_TITLE
this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);總結(jié)
以上是生活随笔為你收集整理的requestWindowFeature()的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源全能播放器Vitamio的使用
- 下一篇: TabLayout属性详解