android標題欄中添加返回按鈕

標題欄中的返回按鈕在實際使用中用的比較多,今天就來講講我在項目開發中的使用經歷,話不多說,還是直接上源碼,上源碼是最給力的。


一、 編寫自定義類

public class CustomTitle {

	private static Activity mActivity;

	public static void getCustomTitle(Activity activity, String title) {
		mActivity = activity;
		mActivity.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
		mActivity.setContentView(R.layout.custom_title);
		mActivity.getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
				R.layout.custom_title);
		
		TextView textView = (TextView) activity.findViewById(R.id.head_center_text);  
        textView.setText(title);  
        Button titleBackBtn = (Button) activity.findViewById(R.id.TitleBackBtn);  
        titleBackBtn.setOnClickListener(new OnClickListener() {  
            public void onClick(View v) {  
            	Log.d("Title back","key down");
            	
            	mActivity.finish();
            }  
        });  
	}
}

二 、 xml資源,在layout中定義custom_title

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    
    
    <Button  
        android:id="@+id/TitleBackBtn"  
        android:layout_width="50dp"     
        android:layout_height="wrap_content"   
        android:gravity="center"  
        android:layout_alignParentRight="true" 
        android:background="@android:drawable/ic_menu_revert"/> 
        
    <TextView  
        android:id="@+id/head_center_text"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_centerInParent="true"  
        android:text=""   
        android:textSize="25sp"
        android:textColor="#FFFFFF"  
        />  

</RelativeLayout>

三 、 在需要調用的activity中調用

public class InformationActivity extends Activity{
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		
		
		CustomTitle.getCustomTitle(this, "個人信息");
		setContentView(R.layout.informationactivity);
     .......................
    }
}

四 、 在res/values/style.xml中添加style定義

<style name="MyCustomTheme" parent="android:Theme">       
         <item name="android:windowTitleBackgroundStyle">@style/TitleBarBackground</item>  
         <item name="android:windowTitleSize">50dp</item>  
     </style>

五 、 在AndroidManifest.xml中對InformationActivity添加支持

<activity
            android:name="com.xxx.InformationActivity"
            android:theme="@style/MyCustomTheme"
            android:screenOrientation="landscape" />

OK,完成上述幾個步驟,就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章