Android自定义标题栏

Android自定义标题栏

Android程序中默认标题栏是灰色背景,内容是工程名字,类似下图:



 

修改了标题栏布局,效果如下:


Android自定义标题栏
 

说一下具体步骤。首先,修改标题栏的宽度和背景,在strings.xml中添加:

<style name="CustomWindowTitleBackground">
    <item name="android:background">@drawable/title_bg</item>
</style>

<style name="test" parent="android:Theme" mce_bogus="1">
    <item name="android:windowTitleSize">40dp</item>
    <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
</style>    

 

然后修改AndroidMainfest.xml文件:

<activity android:name=".MainActivity"
          android:theme="@style/test">
    <intent-filter>
         <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>    

 

接着修改MainActivity,注意语句顺序,不能颠倒:

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); //自定义布局赋值
}    

 

最后在layout文件夹中添加title.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageView android:layout_width="wrap_content"
        android:layout_centerVertical=’true’
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher_email" />

    <TextView android:layout_width="wrap_content"
        android:layout_centerInParent="true"
        android:layout_height="wrap_content"
        android:text="自定义标题栏" />

</RelativeLayout>    

 

重新部署程序,效果如上图。

你可能感兴趣的:(android自定义标题栏)