package com.wangdaye.mysplash.common.ui.popup;
import android.annotation.SuppressLint;
import android.content.Context;
import android.support.annotation.IntDef;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common._basic.MysplashPopupWindow;
import com.wangdaye.mysplash.common.utils.DisplayUtils;
import com.wangdaye.mysplash.common.utils.manager.ThemeManager;
import butterknife.ButterKnife;
/**
* Me menu popup window.
*
* This popup window is used to show the menu in
* {@link com.wangdaye.mysplash.me.view.activity.MeActivity}.
*
* */
public class MeMenuPopupWindow extends MysplashPopupWindow
implements View.OnClickListener {
private OnSelectItemListener listener;
public static final int ITEM_SUBMIT = 1;
public static final int ITEM_PORTFOLIO = 2;
public static final int ITEM_SHARE = 3;
@IntDef({ITEM_SUBMIT, ITEM_PORTFOLIO, ITEM_SHARE})
private @interface MenuItemRule {}
public MeMenuPopupWindow(Context c, View anchor) {
super(c);
this.initialize(c, anchor);
}
@SuppressLint("InflateParams")
private void initialize(Context c, View anchor) {
View v = LayoutInflater.from(c).inflate(R.layout.popup_me_menu, null);
setContentView(v);
initWidget();
show(anchor, anchor.getMeasuredWidth(), 0);
}
private void initWidget() {
View v = getContentView();
v.findViewById(R.id.popup_me_menu_submit).setOnClickListener(this);
v.findViewById(R.id.popup_me_menu_portfolio).setOnClickListener(this);
v.findViewById(R.id.popup_me_menu_share).setOnClickListener(this);
TextView submitTxt = ButterKnife.findById(v, R.id.popup_me_menu_submitTxt);
DisplayUtils.setTypeface(v.getContext(), submitTxt);
TextView portfolioTxt = ButterKnife.findById(v, R.id.popup_me_menu_portfolioTxt);
DisplayUtils.setTypeface(v.getContext(), portfolioTxt);
TextView shareTxt = ButterKnife.findById(v, R.id.popup_me_menu_shareTxt);
DisplayUtils.setTypeface(v.getContext(), shareTxt);
if (ThemeManager.getInstance(v.getContext()).isLightTheme()) {
((ImageView) v.findViewById(R.id.popup_me_menu_submitIcon)).setImageResource(R.drawable.ic_plus_light);
((ImageView) v.findViewById(R.id.popup_me_menu_portfolioIcon)).setImageResource(R.drawable.ic_earth_light);
((ImageView) v.findViewById(R.id.popup_me_menu_shareIcon)).setImageResource(R.drawable.ic_share_light);
} else {
((ImageView) v.findViewById(R.id.popup_me_menu_submitIcon)).setImageResource(R.drawable.ic_plus_dark);
((ImageView) v.findViewById(R.id.popup_me_menu_portfolioIcon)).setImageResource(R.drawable.ic_earth_dark);
((ImageView) v.findViewById(R.id.popup_me_menu_shareIcon)).setImageResource(R.drawable.ic_share_dark);
}
}
// interface.
// on select item listener.
public interface OnSelectItemListener {
void onSelectItem(@MenuItemRule int id);
}
public void setOnSelectItemListener(OnSelectItemListener l) {
listener = l;
}
// on click listener.
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.popup_me_menu_submit:
if (listener != null) {
listener.onSelectItem(ITEM_SUBMIT);
}
break;
case R.id.popup_me_menu_portfolio:
if (listener != null) {
listener.onSelectItem(ITEM_PORTFOLIO);
}
break;
case R.id.popup_me_menu_share:
if (listener != null) {
listener.onSelectItem(ITEM_SHARE);
}
break;
}
dismiss();
}
}