android 自定义titlebar

首先,修改标题栏的宽度和背景,在style.xml中添加:

    <style>  
       <item name="android:background">@drawable/title_bg</item>   
    </style>   
      
    <style name="test" parent="android:Theme">   
        <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>  
原文地址:https://www.cnblogs.com/zhujiabin/p/4535155.html