欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

【Android Developers Training】 9. 覆蓋于布

系統(tǒng) 1916 0

注:本文翻譯自Google官方的Android Developers Training文檔,譯者技術(shù)一般,由于喜愛安卓而產(chǎn)生了翻譯的念頭,純屬個人興趣愛好。

原文鏈接: http://developer.android.com/training/basics/actionbar/overlaying.html


默認(rèn)的,Acton Bar會顯示在你的activity窗口的上部,使得它會稍許減少了activity布局的剩余空間。如果在用戶的UI交互過程中,你希望可以隱藏和顯示Action Bar,你可以通過調(diào)用其 hide() show() 這兩個方法來實(shí)現(xiàn)。然而,這會導(dǎo)致你的 activity 在新尺寸的基礎(chǔ)上重新計算和繪制布局。

為了避免在Action Bar隱藏和顯示的時候重新調(diào)整布局的尺寸,你可以使用Action Bar的覆蓋模式( overlay mode )。當(dāng)在 覆蓋模式 中,你的activity會使用屏幕上所有的空間,就好像action bar不在那兒一樣,然后系統(tǒng)會將action bar繪制于你的布局之上。這會使得布局中頂部的一部分被遮蔽,但是現(xiàn)在這個時候?qū)ction bar進(jìn)行隱藏或者顯示的時候,系統(tǒng)就不需要重新調(diào)整布局的尺寸,使得畫面過渡平滑而自然。

Tip:

如果你希望你的布局在你的Action Bar之后是部分可見的,可以為action bar創(chuàng)建一個半透明的自定義背景,如圖1所示。關(guān)于如何自定義Action Bar的風(fēng)格,可以閱讀: Styling the Action Bar 。(博客鏈接: http://www.cnblogs.com/jdneo/p/3444484.html

圖1. Gallery的覆蓋于布局之上(overlay mode)的Action Bar

?

一). 啟用覆蓋模式

為了啟用Action Bar的覆蓋模式,你需要創(chuàng)建一個繼承自一個存在了的action bar主題的自定義主題,然后將“ android:windowActionBarOverlay ”這一屬性字段設(shè)置為“ true ”。

對于Android 3.0或更高

如果你的 minSdkVersion 設(shè)置為11或更高,你的自定義主題可以使用 Theme.Holo (或它的衍生的主題)作為你的父主題,例如:

      
        <
      
      
        resources
      
      
        >
      
      
        <!--
      
      
         the theme applied to the application or activity 
      
      
        -->
      
      
        <
      
      
        style 
      
      
        name
      
      
        ="CustomActionBarTheme"
      
      
        

           parent
      
      
        ="@android:style/Theme.Holo"
      
      
        >
      
      
        <
      
      
        item 
      
      
        name
      
      
        ="android:windowActionBarOverlay"
      
      
        >
      
      true
      
        </
      
      
        item
      
      
        >
      
      
        </
      
      
        style
      
      
        >
      
      
        </
      
      
        resources
      
      
        >
      
    

對于Android 2.1或更高

如果你的應(yīng)用使用“ Support Library ”來解決低于Android 3.0設(shè)備上的兼容性問題,你的主題應(yīng)該使用 Theme.AppCompat 主題( 或它的衍生的主題 )作為你的父主題,例如:

      
        <
      
      
        resources
      
      
        >
      
      
        <!--
      
      
         the theme applied to the application or activity 
      
      
        -->
      
      
        <
      
      
        style 
      
      
        name
      
      
        ="CustomActionBarTheme"
      
      
        

           parent
      
      
        ="@android:style/Theme.AppCompat"
      
      
        >
      
      
        <
      
      
        item 
      
      
        name
      
      
        ="android:windowActionBarOverlay"
      
      
        >
      
      true
      
        </
      
      
        item
      
      
        >
      
      
        <!--
      
      
         Support library compatibility 
      
      
        -->
      
      
        <
      
      
        item 
      
      
        name
      
      
        ="windowActionBarOverlay"
      
      
        >
      
      true
      
        </
      
      
        item
      
      
        >
      
      
        </
      
      
        style
      
      
        >
      
      
        </
      
      
        resources
      
      
        >
      
    

注意到這個主題包含了“ windowActionBarOverlay ”風(fēng)格的兩處定義:一個有“ android: ”前綴而另一個沒有。有“ android: ”前綴的版本適用于包含了這個風(fēng)格的Android平臺,而沒有的版本適用于那些較古老的版本,風(fēng)格從“ Support Library ”中獲取。

?

二). 指定布局的頂部邊緣

當(dāng)Action Bar在覆蓋模式時,它可能會遮蔽你的一部分本應(yīng)該要可見的布局。為了保證這些元素永遠(yuǎn)處于action bar的下方,可以通過添加頂部View的外邊距( margin )或者內(nèi)邊距( padding ),可以使用 actionBarSize 中指定了的高度值。例如:

      
        <
      
      
        RelativeLayout 
      
      
        xmlns:android
      
      
        ="http://schemas.android.com/apk/res/android"
      
      
        

    android:layout_width
      
      
        ="match_parent"
      
      
        

    android:layout_height
      
      
        ="match_parent"
      
      
        

    android:paddingTop
      
      
        ="?android:attr/actionBarSize"
      
      
        >
      
      
        

    ...


      
      
        </
      
      
        RelativeLayout
      
      
        >
      
    

如果你使用的是“ Support Library ”,你需要移去“ android: ”前綴,例如:

      
        <!--
      
      
         Support library compatibility 
      
      
        -->
      
      
        <
      
      
        RelativeLayout 
      
      
        xmlns:android
      
      
        ="http://schemas.android.com/apk/res/android"
      
      
        

    android:layout_width
      
      
        ="match_parent"
      
      
        

    android:layout_height
      
      
        ="match_parent"
      
      
        

    android:paddingTop
      
      
        ="?attr/actionBarSize"
      
      
        >
      
      
        

    ...


      
      
        </
      
      
        RelativeLayout
      
      
        >
      
    

在這個例子中,“ ?attr/actionBarSize ”這個沒有前綴的值適用于所有版本,包括Android 3.0和更高版本。

【Android Developers Training】 9. 覆蓋于布局之上的Action Bar


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久精品久久久 | 久久88 | 欧美视频一区 | 久久免费播放视频 | 九色传媒| 国内精品易阳在线播放国产 | 天天干天操 | 日韩欧美一区二区三区 | 国产精品久久久久久久久久久久 | 在线色网站 | 日本在线视 | 天天色综合久久 | 亚洲精品无码成人A片在线虐 | 欧美一级aⅴ毛片 | www.久久久.com | 中文字幕在线第一页 | 久久精品视频免费 | 精品久久久av | av网站免费观看 | 久热综合 | 91青青操 | 亚洲性在线观看 | 久久精品久 | 天天做天天添天天谢 | 欧美专区在线视频 | 大陆黄色网 | 久久久久毛片成人精品 | 九九色综合 | 国产精品区一区二区三 | 玖玖爱视频在线观看 | 偿还的影视高清在线观看 | 波多野结衣一区二区三区 | 国产一区二区三区在线免费观看 | 日日网站 | 精品欧美一区二区精品久久久 | 国产成人福利在线视老湿机 | 亚洲第一人伊人色综合 | 亚洲综合久久久久久中文字幕 | 久久天天 | 国产人成激情视频在线观看 | 欧美伊人久久 |