android标题栏中添加返回按钮

标题栏中的返回按钮在实际使用中用的比较多,今天就来讲讲我在项目开发中的使用经历,话不多说,还是直接上源码,上源码是最给力的。


一、 编写自定义类

[java] view plain copy
  1. public class CustomTitle {  
  2.   
  3.     private static Activity mActivity;  
  4.   
  5.     public static void getCustomTitle(Activity activity, String title) {  
  6.         mActivity = activity;  
  7.         mActivity.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);  
  8.         mActivity.setContentView(R.layout.custom_title);  
  9.         mActivity.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,  
  10.                 R.layout.custom_title);  
  11.           
  12.         TextView textView = (TextView) activity.findViewById(R.id.head_center_text);    
  13.         textView.setText(title);    
  14.         Button titleBackBtn = (Button) activity.findViewById(R.id.TitleBackBtn);    
  15.         titleBackBtn.setOnClickListener(new OnClickListener() {    
  16.             public void onClick(View v) {    
  17.                 Log.d("Title back","key down");  
  18.                   
  19.                 mActivity.finish();  
  20.             }    
  21.         });    
  22.     }  
  23. }  

二 、 xml资源,在layout中定义custom_title
[java] view plain copy
  1. "1.0" encoding="utf-8"?>  
  2. "http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent" >  
  5.       
  6.       
  7.     
  8.         android:id="@+id/TitleBackBtn"    
  9.         android:layout_width="50dp"       
  10.         android:layout_height="wrap_content"     
  11.         android:gravity="center"    
  12.         android:layout_alignParentRight="true"   
  13.         android:background="@android:drawable/ic_menu_revert"/>   
  14.           
  15.     
  16.         android:id="@+id/head_center_text"    
  17.         android:layout_width="wrap_content"    
  18.         android:layout_height="wrap_content"    
  19.         android:layout_centerInParent="true"    
  20.         android:text=""     
  21.         android:textSize="25sp"  
  22.         android:textColor="#FFFFFF"    
  23.         />    
  24.   
  25.   

三 、 在需要调用的activity中调用
[java] view plain copy
  1. public class InformationActivity extends Activity{  
  2.     @Override  
  3.     protected void onCreate(Bundle savedInstanceState) {  
  4.         // TODO Auto-generated method stub  
  5.         super.onCreate(savedInstanceState);  
  6.           
  7.           
  8.         CustomTitle.getCustomTitle(this"个人信息");  
  9.         setContentView(R.layout.informationactivity);  
  10.      .......................  
  11.     }  
  12. }  

四 、 在res/values/style.xml中添加style定义
[html] view plain copy
  1. <style name="MyCustomTheme" parent="android:Theme">         
  2.          <item name="android:windowTitleBackgroundStyle">@style/TitleBarBackgrounditem>    
  3.          <item name="android:windowTitleSize">50dpitem>    
  4.      style>  

五 、 在AndroidManifest.xml中对InformationActivity添加支持
[html] view plain copy
  1. <activity  
  2.             android:name="com.xxx.InformationActivity"  
  3.             android:theme="@style/MyCustomTheme"  
  4.             android:screenOrientation="landscape" />  

OK,完成上述几个步骤,就可以了。

你可能感兴趣的:(android)