標題欄中的返回按鈕在實際使用中用的比較多,今天就來講講我在項目開發中的使用經歷,話不多說,還是直接上源碼,上源碼是最給力的。
一、 編寫自定義類
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,完成上述幾個步驟,就可以了。