package com.metis.base.widget; import android.content.Context; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; import android.support.annotation.DrawableRes; import android.support.annotation.StringRes; import android.util.AttributeSet; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.metis.base.R; /** * Created by Beak on 2015/7/6. */ public class TitleBar extends RelativeLayout{ private FrameLayout mLeftFrameLayout = null, mRightFrameLayout = null; private FrameLayout mCenterFrameLayout = null; private TextView mCenterTitleTv = null, mLeftTitleTv, mRightTitleTv; private ImageView mLeftIv, mRightIv; public TitleBar(Context context) { this(context, null); } public TitleBar(Context context, AttributeSet attrs) { this(context, attrs, 0); } public TitleBar(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initThis(context); } private void initThis (Context context) { LayoutInflater.from(context).inflate(R.layout.layout_title_bar, this, true); mLeftFrameLayout = (FrameLayout)findViewById(R.id.title_bar_left_btn); mRightFrameLayout = (FrameLayout)findViewById(R.id.title_bar_right_btn); mCenterFrameLayout = (FrameLayout)findViewById(R.id.title_bar_center); mCenterTitleTv = (TextView)findViewById(R.id.title_bar_center_text); mLeftTitleTv = (TextView)findViewById(R.id.title_bar_left_text); mRightTitleTv = (TextView)findViewById(R.id.title_bar_right_text); mLeftIv = (ImageView)findViewById(R.id.title_bar_left_img); mRightIv = (ImageView)findViewById(R.id.title_bar_right_img); } public void setCenterView (View view) { FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.gravity = Gravity.CENTER; mCenterFrameLayout.removeAllViews(); mCenterFrameLayout.addView(view, params); } public void setTitleCenter (CharSequence charSequence) { mCenterTitleTv.setText(charSequence); } public void setTitleCenter (@StringRes int stringRes) { mCenterTitleTv.setText(stringRes); } public void setTitleLeft (CharSequence charSequence) { mLeftTitleTv.setText(charSequence); } public void setTitleLeft (@StringRes int stringRes) { mLeftTitleTv.setText(stringRes); } public void setDrawableLeft (Drawable drawableLeft) { mLeftIv.setImageDrawable(drawableLeft); } public void setDrawableResourceLeft (@DrawableRes int drawableResourceLeft) { mLeftIv.setImageResource(drawableResourceLeft); } public void setBitmapLeft (Bitmap bmp) { mLeftIv.setImageBitmap(bmp); } public void setOnLeftBtnClickListener (OnClickListener listener) { mLeftFrameLayout.setOnClickListener(listener); } public void setTitleRight (CharSequence charSequence) { mRightTitleTv.setText(charSequence); } public void setTitleRight (@StringRes int stringRes) { mRightTitleTv.setText(stringRes); } public void setDrawableRight (Drawable drawableLeft) { mRightIv.setImageDrawable(drawableLeft); } public void setDrawableResourceRight (@DrawableRes int drawableResourceLeft) { mRightIv.setImageResource(drawableResourceLeft); } public void setBitmapRight (Bitmap bmp) { mRightIv.setImageBitmap(bmp); } public void setOnRightBtnClickListener (OnClickListener listener) { mRightFrameLayout.setOnClickListener(listener); } public void setRightEnable (boolean enable) { mRightFrameLayout.setEnabled(enable); } }