package com.quick.library; import android.app.Activity; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.quick.library.app.R; /** * QuickTitleManager,用于处理标题设置 * * @author steven-pan * */ public class QuickTitleManager implements View.OnClickListener { private RelativeLayout mTitleLayout = null; private Activity mActivity = null; public QuickTitleManager(Activity activity, RelativeLayout titleLayout) { this.mTitleLayout = titleLayout; this.mActivity = activity; this.mTitleLayout.setVisibility(View.GONE); } /** * set title by CharSequence, not to show back indicator */ public QuickTitleManager setTitle(CharSequence text) { this.setTitle(text, false); return this; } /** * set title by CharSequence * * @param text * @param back * whether to show back indicator */ public QuickTitleManager setTitle(CharSequence text, boolean back) { ((TextView) this.mTitleLayout.findViewById(R.id.quick_title_text)).setText(text); View backView = this.mTitleLayout.findViewById(R.id.quick_back_icon); if (back) { backView.setVisibility(View.VISIBLE); setTitleListener(this); } else { backView.setVisibility(View.GONE); } return this; } /** * back indicator close listener * * @param arg0 */ @Override public void onClick(View arg0) { try { this.mActivity.finish(); } catch (Exception e) { e.printStackTrace(); } } /** * set a new View.OnClickListener for left of TitleLayout * * @param listener */ public QuickTitleManager setTitleListener(View.OnClickListener listener) { if (listener != null) { this.mTitleLayout.findViewById(R.id.quick_left_view).setOnClickListener(listener); } return this; } /** * set Custom View on right of TitleLayout * * @param view */ public QuickTitleManager setOptionView(View.OnClickListener listener) { ImageView imageView = new ImageView(mActivity); imageView.setImageResource(R.drawable.quick_right_more); this.setOptionView(imageView, listener); return this; } /** * set Custom View on right of TitleLayout * * @param view */ public QuickTitleManager setOptionView(View view, View.OnClickListener listener) { LinearLayout optionLayout = (LinearLayout) this.mTitleLayout.findViewById(R.id.quick_right_layout); optionLayout.addView(view); optionLayout.setOnClickListener(listener); return this; } public void commit() { this.mTitleLayout.setVisibility(View.VISIBLE); } }