Activity設(shè)置全屏顯示的兩種方式及系統(tǒng)自帶theme屬性解析-創(chuàng)新互聯(lián)

轉(zhuǎn)載說明:原貼地址:http://blog.csdn.net/a_running_wolf/article/details/50480386

創(chuàng)新互聯(lián)專注于竹山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供竹山營(yíng)銷型網(wǎng)站建設(shè),竹山網(wǎng)站制作、竹山網(wǎng)頁(yè)設(shè)計(jì)、竹山網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造竹山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供竹山網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

設(shè)置Activity隱藏標(biāo)題欄、設(shè)置Activity全屏顯示在我們開發(fā)中會(huì)經(jīng)常用到,畢竟手機(jī)屏幕大小有限,有時(shí)候是為了顯示更多的信息而舍棄一些不必要的界面開支,首當(dāng)其沖的就是標(biāo)題欄,接下來就是狀態(tài)欄;有時(shí)候是為了界面的簡(jiǎn)潔和美觀……不舉例子了,相信你肯定遇到過這樣的需求,直接入正題:

    設(shè)置隱藏標(biāo)題欄、全屏顯示常用的有2種方法(和Android開發(fā)中大多數(shù)屬性的設(shè)置方法一樣):

    (一)xml中靜態(tài)注冊(cè)

    在AndroidManifest.xml文件的相應(yīng)Activity節(jié)點(diǎn)下設(shè)置其android:theme屬性值,該屬性值(使用系統(tǒng)theme值,自定義theme除外)一般以"@android:style/Theme."開頭,如android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"。下邊就來說說這些theme有哪些不同及各自的效果(以Android4.4.2為例):

    我們?cè)诮缑嫔咸砑右粋€(gè)TextView輔助觀察:

<TextView  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_centerHorizontal="true"  
        android:text="全屏設(shè)置及Theme屬性解析"  
        android:textSize="20sp"/>    <!-- 這里只設(shè)置了字體大小,并未設(shè)置字體顏色 -->

    *注意*這里只設(shè)置了字體大小并未設(shè)置字體顏色,下邊會(huì)涉及到。

<activity  
            android:name="com.wangj.fullscreen.TestActivity"  
            android:label="@string/title_activity_test"  
            android:theme="@android:style/下邊說到的theme值"  
            android:icon="@drawable/ic_launcher"  
            android:screenOrientation="portrait" >    <!-- 添加android:theme屬性 -->  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>
 

    (1)<activity >……< />節(jié)點(diǎn)未指定theme屬性時(shí)顯示效果如下

     

   (2)黑色主題

    Theme.Black黑色主題:標(biāo)題欄灰色、不顯示icon(即使設(shè)置了也不顯示)、有狀態(tài)欄、TextView字體反色:

     

     Theme.Black.NoTitleBar:黑色主題、無標(biāo)題欄、有狀態(tài)欄、字體反色:

     

     Theme.Black.NoTitleBar.Fullscreen:黑色主題、無標(biāo)題欄、無狀態(tài)欄、字體反色:

     

   (3)白色主題(和黑色主題唯一不同就是顏色):

     Theme.Light白色主題:標(biāo)題欄灰色、不顯示icon(即使設(shè)置了也不顯示)、有狀態(tài)欄、TextView字體黑色:

     

     Theme.Light.NoTitleBar:白色主題、無標(biāo)題欄、有狀態(tài)欄、TextView字體黑色

     

     Theme.Light.NoTitleBar.Fullscreen:白色主題、無標(biāo)題欄、無狀態(tài)欄、Textiew黑字

     

    從上邊可以看出:"Theme"是一個(gè)域,"NoTitleBar"指無標(biāo)題欄,"FullScreen"指無狀態(tài)欄。

   (4)墻紙

     Theme.Wallpaper:與黑色主題類似,只是北京變?yōu)槭謾C(jī)墻紙圖片

     

    同樣,Theme.Wallpaper.NoTitleBar:同上,無標(biāo)題欄

    Theme.Wallpaper.NoTitleBar.Fullscreen:同上,無標(biāo)題欄、無狀態(tài)欄

   (5)半透明

     Theme.Translucent:半透明(說是半透明,但看效果是透明的)

     

    同樣的,Theme.Translucent.NoTitleBar:同上,去掉了標(biāo)題欄

    Theme.Translucent.NoTitleBar.Fullscreen:同上,去掉了標(biāo)題欄和狀態(tài)欄

  (6)質(zhì)樸風(fēng)

     Theme.Holo( | .NoActionBar(難道在Holo中TitleBar改名了) | .NoActionBar .Fullscreen):質(zhì)樸風(fēng),黑色背景藍(lán)色標(biāo)題欄底、標(biāo)題欄可顯示icon、TextView反色字( | 去掉標(biāo)題欄 | 去掉標(biāo)題欄和狀態(tài)欄)

     

     Theme.Holo.Light( | .NoTitleBar | .NoTitleBar.Fullscreen):質(zhì)樸風(fēng),銀色背景、標(biāo)題欄可顯示icon、TextView黑字( | 去掉標(biāo)題欄 | 去掉標(biāo)題欄和狀態(tài)欄)

     

     Theme.Holo.Wallpaper( | .NoTitleBar | 沒有.NoTitleBar .Fullscreen):墻紙背景質(zhì)樸風(fēng),標(biāo)題欄有藍(lán)色底邊( | 去掉標(biāo)題欄 | 狀態(tài)欄去不掉)

     

    *注意*

    沒有Theme.Holo.Black,Theme.Holo默認(rèn)就是黑色背景的

    系統(tǒng)沒有Theme.Holo.Translucent

    其實(shí),看完上邊大家只要記住Black、Light、Holo、Translucent、Wallpaper、NoTitleBar、NoActionBar、FullScreen……等關(guān)鍵字和其意義(更多關(guān)鍵字的功能有待探索),用的時(shí)候在系統(tǒng)列表里找相應(yīng)組合就可以了,比如上邊要隱藏標(biāo)題欄的、要設(shè)置全屏的根據(jù)需要找相應(yīng)的Theme就可以了。至于沒有的也不能自己創(chuàng)造,只能自定義了。

    (二)Activity加載時(shí)設(shè)定

    在Activity的onCreate()方法中,在setContent()之前采用以下語句設(shè)置

this.requestWindowFeature(Window.FEATURE_NO_TITLE); // 隱藏應(yīng)用程序的標(biāo)題欄,即當(dāng)前activity的labelthis.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); // 隱藏android系統(tǒng)的狀態(tài)欄

    *注意*必須在setContent()方法之前設(shè)置,否則沒有效果,因?yàn)閟etContent方法設(shè)置"View繪制區(qū)域"所顯示的組件,而狀態(tài)欄、標(biāo)題欄都是View繪制區(qū)之外的區(qū)域(應(yīng)用區(qū)、屏幕)

網(wǎng)頁(yè)標(biāo)題:Activity設(shè)置全屏顯示的兩種方式及系統(tǒng)自帶theme屬性解析-創(chuàng)新互聯(lián)
地址分享:http://www.muchs.cn/article46/dsoehg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、定制網(wǎng)站靜態(tài)網(wǎng)站、微信小程序、面包屑導(dǎo)航、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)