Android 自定義Activity標題欄

(轉載)java

Android程序默認的Activity標題欄只能顯示一段文字,並且不能改變它的佈局、顏色、標題欄的高度等。若是想要在標題欄加上個圖標、button、輸入框、進度條、修改標題欄顏色等,只能使用自定義的標題欄。自定義標題欄能夠經過在onCreate函數中添加如下代碼來實現,須要注意的是代碼的順序必須按照下面的樣式,不然將無效。android

Java代碼
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.mainactivity);    //Activity的佈局 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar);   //標題欄的佈局 

雖然上面這樣能夠在標題欄加入一些控件,可是仍然不能改變標題欄的高度、背景色,要想達到這個目的,只能使用theme(主題)。所以往project裏先添加一個style。改變背景色修改android:windowTitleBackgroundStyle的值,改變標題欄高度則修改android:windowTitleSize的值。下面是一個示例:函數

Java代碼:
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="CustomWindowTitleBackground"> 
        <item name="android:background">#778899</item> 
    </style> 
    <style name="activityTitlebar" parent="android:Theme"> 
        <item name="android:windowTitleSize">32dp</item> 
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> 
    </style> 
</resources> 

接着再修改AndroidManifest.xml文件,找到要自定義標題欄的Activity,添加上android:theme值,好比:
<activity android:name=".MainActivity" android:theme="@style/activityTitlebar">
android:theme值就是上面那個style.xml文件裏定義的一個style的name值。
按照以上的步驟,修改標題欄佈局、高度、背景色的功能就實現了。佈局

相關文章
相關標籤/搜索