package com.mogujie.tt.widget; import android.content.Context; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import com.mogujie.tt.R; import com.mogujie.tt.log.Logger; import com.mogujie.tt.ui.activity.MainActivity; public class NaviTabButton extends FrameLayout { private int mIndex; private ImageView mImage; private TextView mTitle; private TextView mNotify; private Drawable mSelectedImg; private Drawable mUnselectedImg; private Context mContext; private Logger logger = Logger.getLogger(NaviTabButton.class); public NaviTabButton(Context context) { this(context, null); } public NaviTabButton(Context context, AttributeSet attrs) { this(context, attrs, 0); } public NaviTabButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); this.mContext = context; View.OnClickListener clickListner = new View.OnClickListener() { @Override public void onClick(View v) { ((MainActivity) mContext).setFragmentIndicator(mIndex); } }; LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); inflater.inflate(R.layout.tt_navi_tab_button, this, true); RelativeLayout container = (RelativeLayout) findViewById(R.id.tab_btn_container); mImage = (ImageView)findViewById(R.id.tab_btn_default); mTitle = (TextView)findViewById(R.id.tab_btn_title); mNotify = (TextView)findViewById(R.id.tab_unread_notify); container.setOnClickListener(clickListner); } public void setIndex(int index) { this.mIndex = index; } public void setUnselectedImage(Drawable img) { this.mUnselectedImg = img; } public void setSelectedImage(Drawable img) { this.mSelectedImg = img; } private void setSelectedColor(Boolean selected){ if(selected){ mTitle.setTextColor(getResources().getColor(R.color.default_blue_color)); }else{ mTitle.setTextColor(getResources().getColor(R.color.default_light_grey_color)); } } public void setSelectedButton(Boolean selected) { setSelectedColor(selected); if (selected) { mImage.setImageDrawable(mSelectedImg); } else { mImage.setImageDrawable(mUnselectedImg); } } public void setTitle(String title) { mTitle.setText(title); } public void setUnreadNotify(int unreadNum) { logger.d("unread#setUreadNotify -> unreadNum:%d", unreadNum); if (0 == unreadNum) { mNotify.setVisibility(View.INVISIBLE); return; } String notify; if (unreadNum > 99) { notify = "99+"; } else { notify = Integer.toString(unreadNum); } mNotify.setText(notify); mNotify.setVisibility(View.VISIBLE); } }