android - 自定义标题栏(在标题栏中增加按钮和文本居中)

现在很多的Android程序都在标题栏上都显示了一些按钮和标题,如下图: 

 android - 自定义标题栏(在标题栏中增加按钮和文本居中)

下面通过实例来看一下如何实现。

1、在layout下创建一个titlebtn.xml文件,内容如下:

[html]
<?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"> 
     
    <ImageButton 
        android:id="@+id/imageButton1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:background="#00000000"         
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:src="@drawable/prv" /> 
 
    <TextView  
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_centerInParent="true" 
        android:text="标题栏" /> 
 
    <ImageButton 
        android:id="@+id/imageButton1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:background="#00000000" 
        android:layout_centerInParent="true" 
        android:layout_alignParentRight="true" 
        android:src="@drawable/next" /> 
           
</RelativeLayout> 
在创建这个xml时需要注意:

a)使用RelativeLayout的布局

b)特别是右边按钮的属性需要指定layout_centerInParent


2、在Activity中的onCreate中增加下面的代码:
[java]
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 
setContentView(R.layout.main); 
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebtn); 

通过上面的两个步骤就可以实现了上面的效果了。