很多網友發現自己Android程序的標題欄TitleBar區域很單調,如果想個性化一些可以通過下面的方法來爲自己軟件的標題定製一個layout佈局文件,比如瀏覽器的標題欄,它包含了網站的Favicon,自定義的進度條,和不確定的進度指示等等,實現的方法自己控制吧。下面代碼在onCreate 中使用,同時順序不要改變,否則將無法生效:
setContentView(R.layout.main); //軟件activity的佈局
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar); //titlebar爲自己標題欄的佈局
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomWindowTitleBackground">
<item name="android:background">#565656</item>
</style>
<style name="test" parent="android:Theme">
<item name="android:windowTitleSize">50dp</item>
<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>
</resources>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.guardian"
android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name" >
<activity android:name=".Guardian"
android:label="@string/app_name"
android:theme = "@style/test" //就在這裏
>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
</manifest>
Android改變窗口標題欄的佈局
一、 重點
一般應用的Title都是建立應用時在AndroidManifest.xml中配置的,或是用setTitle設置的簡單字符串,要是想加入按鈕,圖片等多個複雜的佈局,使用以下方法:
在窗口建立時,可以把一個xml佈局設置成該應用的Title
二、 實例
a) 功能:把title設置成爲一個字串和一個按鈕的組合
b) 修改xxActivity.java代碼
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); // 注意順序
setContentView(R.layout.main); // 注意順序
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, // 注意順序
R.layout.title);
}
c) 填加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">
<TextView android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:text="text" />
<Button android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="30px"
android:text="button" />
</LinearLayout>
三、 注意
a) 注意設置順序
requestWindowFeature要在setContentView之前
getWindow().setFeatureInit最好在setContentView之後
b) 注意requestWindowFeature(Window.FEATURE_CUSTOM_TITLE)不要和其它對TITLE的設置requestWindowFeature(xxxx)一起使用
轉自:http://java-admin.iteye.com/blog/813158