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

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


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

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

[html] view plain copy print ?
  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中增加下面的代码:

[java] view plain copy print ?
  1. requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  
  2. setContentView(R.layout.main);  
  3. getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebtn);  
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebtn);

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

你可能感兴趣的:(Android)