您好,登錄后才能下訂單哦!
我們?cè)陂_(kāi)發(fā)程序是經(jīng)常會(huì)需要軟件全屏顯示、自定義標(biāo)題(使用按鈕等控件)和其他的需求,今天這一講就是如何控制Android應(yīng)用程序的窗體顯示.
首先介紹一個(gè)重要方法那就是requestWindowFeature(featrueId),它的功能是啟用窗體的擴(kuò)展特性。參數(shù)是Window類(lèi)中定義的常量。
一、枚舉常量
1.DEFAULT_FEATURES:系統(tǒng)默認(rèn)狀態(tài),一般不需要指定
2.FEATURE_CONTEXT_MENU:?jiǎn)⒂肅ontextMenu,默認(rèn)該項(xiàng)已啟用,一般無(wú)需指定
3.FEATURE_CUSTOM_TITLE:自定義標(biāo)題。當(dāng)需要自定義標(biāo)題時(shí)必須指定。如:標(biāo)題是一個(gè)按鈕時(shí)
4.FEATURE_INDETERMINATE_PROGRESS:不確定的進(jìn)度
5.FEATURE_LEFT_ICON:標(biāo)題欄左側(cè)的圖標(biāo)
6.FEATURE_NO_TITLE:吳標(biāo)題
7.FEATURE_OPTIONS_PANEL:?jiǎn)⒂谩斑x項(xiàng)面板”功能,默認(rèn)已啟用。
8.FEATURE_PROGRESS:進(jìn)度指示器功能
9.FEATURE_RIGHT_ICON:標(biāo)題欄右側(cè)的圖標(biāo)
二、詳解
默認(rèn)顯示狀態(tài)
圖1默認(rèn)
1.FEATURE_CUSTOM_TITLE詳解
this.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
這是因?yàn)闆](méi)設(shè)置Featrue
在上面代碼后加:getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);
自定義標(biāo)題完成,它是一個(gè)xml文件布局
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/icon"/>
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="文本" />
</LinearLayout>
3.FEATURE_INDETERMINATE_PROGRESS詳解
表示一個(gè)進(jìn)程正在運(yùn)行
圖4標(biāo)題進(jìn)度條顯示
實(shí)現(xiàn)代碼
1.progress.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">
<ProgressBar android:id="@+id/progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
>
</ProgressBar>
</LinearLayout>
2.Java代碼
this.requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_INDETERMINATE_PROGRESS, R.layout.progress);
setProgressBarIndeterminateVisibility(true);
3.FEATURE_LEFT_ICON詳解
左側(cè)顯示圖標(biāo)
實(shí)現(xiàn)代碼
this.requestWindowFeature(Window.FEATURE_LEFT_ICON);
setContentView(R.layout.main);
getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon);
4.FEATURE_NO_TITLE詳解
可用于全屏顯示
實(shí)現(xiàn)代碼
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。