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

时间:2024-03-06 10:44:31

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

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

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

 

  1.  1 <?xml version="1.0" encoding="utf-8"?>       
     2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"       
     3     android:orientation="horizontal"    
     4     android:layout_width="fill_parent"     
     5     android:layout_height="fill_parent">  
     6       
     7     <ImageButton  
     8         android:id="@+id/imageButton1"  
     9         android:layout_width="wrap_content"  
    10         android:layout_height="wrap_content"  
    11         android:background="#00000000"          
    12         android:layout_centerVertical="true"  
    13         android:layout_alignParentLeft="true"  
    14         android:src="@drawable/prv" />  
    15   
    16     <TextView   
    17         android:layout_width="wrap_content"  
    18         android:layout_height="wrap_content"  
    19         android:layout_centerInParent="true"  
    20         android:text="标题栏" />  
    21   
    22     <ImageButton  
    23         android:id="@+id/imageButton1"  
    24         android:layout_width="wrap_content"  
    25         android:layout_height="wrap_content"  
    26         android:background="#00000000"  
    27         android:layout_centerInParent="true"  
    28         android:layout_alignParentRight="true"  
    29         android:src="@drawable/next" />  
    30             
    31 </RelativeLayout>

     

      

 

在创建这个xml时需要注意:

a)使用RelativeLayout的布局

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


2、在Activity中的onCreate中增加下面的代码:

 

  1. 1 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  
    2 setContentView(R.layout.main);  
    3 getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebtn);

     

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