package com.wangdaye.mysplash.common.ui.popup;
import android.annotation.SuppressLint;
import android.content.Context;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common._basic.MysplashPopupWindow;
import com.wangdaye.mysplash.common.ui.activity.SetWallpaperActivity;
import com.wangdaye.mysplash.common.utils.DisplayUtils;
import butterknife.ButterKnife;
/**
* Wallpaper align popup window.
*
* This popup window is used to select where to wallpaper align.
*
* */
public class WallpaperAlignPopupWindow extends MysplashPopupWindow
implements View.OnClickListener {
private OnAlignTypeChangedListener listener;
private int valueNow;
public WallpaperAlignPopupWindow(Context c, View anchor, int valueNow) {
super(c);
this.initialize(c, anchor, valueNow);
}
@SuppressLint("InflateParams")
private void initialize(Context c, View anchor, int valueNow) {
View v = LayoutInflater.from(c).inflate(R.layout.popup_wallpaper_align, null);
setContentView(v);
initData(valueNow);
initWidget();
show(anchor, 0, 0);
}
private void initData(int valueNow) {
this.valueNow = valueNow;
}
private void initWidget() {
View v = getContentView();
v.findViewById(R.id.popup_wallpaper_align_left).setOnClickListener(this);
v.findViewById(R.id.popup_wallpaper_align_center).setOnClickListener(this);
v.findViewById(R.id.popup_wallpaper_align_right).setOnClickListener(this);
TextView leftTxt = ButterKnife.findById(v, R.id.popup_wallpaper_align_leftTxt);
DisplayUtils.setTypeface(v.getContext(), leftTxt);
if (valueNow == SetWallpaperActivity.ALIGN_TYPE_LEFT) {
leftTxt.setTextColor(ContextCompat.getColor(v.getContext(), R.color.colorTextSubtitle_light));
}
TextView centerTxt = ButterKnife.findById(v, R.id.popup_wallpaper_align_centerTxt);
DisplayUtils.setTypeface(v.getContext(), centerTxt);
if (valueNow == SetWallpaperActivity.ALIGN_TYPE_CENTER) {
centerTxt.setTextColor(ContextCompat.getColor(v.getContext(), R.color.colorTextSubtitle_light));
}
TextView rightTxt = ButterKnife.findById(v, R.id.popup_wallpaper_align_rightTxt);
DisplayUtils.setTypeface(v.getContext(), rightTxt);
if (valueNow == SetWallpaperActivity.ALIGN_TYPE_RIGHT) {
rightTxt.setTextColor(ContextCompat.getColor(v.getContext(), R.color.colorTextSubtitle_light));
}
}
// interface.
// on align type changed listener.
public interface OnAlignTypeChangedListener {
void onAlignTypeChanged(int type);
}
public void setAlignTypeChangedListener(OnAlignTypeChangedListener l) {
listener = l;
}
// on click listener.
@Override
public void onClick(View view) {
int newValue = valueNow;
switch (view.getId()) {
case R.id.popup_wallpaper_align_left:
newValue = SetWallpaperActivity.ALIGN_TYPE_LEFT;
break;
case R.id.popup_wallpaper_align_center:
newValue = SetWallpaperActivity.ALIGN_TYPE_CENTER;
break;
case R.id.popup_wallpaper_align_right:
newValue = SetWallpaperActivity.ALIGN_TYPE_RIGHT;
break;
}
if (newValue != valueNow && listener != null) {
listener.onAlignTypeChanged(newValue);
dismiss();
}
}
}