溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android 應(yīng)用程序窗體顯示狀態(tài)操作(requestWindowFeature()的應(yīng)用)

發(fā)布時(shí)間:2020-06-11 16:57:13 來(lái)源:網(wǎng)絡(luò) 閱讀:498 作者:Syephen 欄目:移動(dòng)開(kāi)發(fā)

我們?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); Android 應(yīng)用程序窗體顯示狀態(tài)操作(requestWindowFeature()的應(yīng)用) 

自定義標(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)行

Android 應(yīng)用程序窗體顯示狀態(tài)操作(requestWindowFeature()的應(yīng)用)

    圖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)

Android 應(yīng)用程序窗體顯示狀態(tài)操作(requestWindowFeature()的應(yīng)用)

 

實(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);

 Android 應(yīng)用程序窗體顯示狀態(tài)操作(requestWindowFeature()的應(yīng)用)


向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI