pda/zhuike/.svn/pristine/84/84738262ac50e4c1585a8752889...

140 lines
4.7 KiB
Plaintext

package com.novelbook.android.dialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import com.novelbook.android.utils.Config;
import com.novelbook.android.R;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class PageModeDialog extends Dialog {
@BindView(R.id.tv_simulation)
TextView tv_simulation;
@BindView(R.id.tv_cover)
TextView tv_cover;
@BindView(R.id.tv_slide)
TextView tv_slide;
@BindView(R.id.tv_none)
TextView tv_none;
private Config config;
private PageModeListener pageModeListener;
private PageModeDialog(Context context, boolean flag, OnCancelListener listener) {
super(context, flag, listener);
}
public PageModeDialog(Context context) {
this(context, R.style.setting_dialog);
}
public PageModeDialog(Context context, int themeResId) {
super(context, themeResId);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setGravity(Gravity.BOTTOM);
setContentView(R.layout.zdialog_pagemode);
// 初始化View注入
ButterKnife.bind(this);
WindowManager m = getWindow().getWindowManager();
Display d = m.getDefaultDisplay();
WindowManager.LayoutParams p = getWindow().getAttributes();
p.width = d.getWidth();
getWindow().setAttributes(p);
config = Config.getInstance();
selectPageMode(config.getPageMode());
// getWindow().setNavigationBarColor(getResources().getColor(R.color.read_dialog_bg));
}
@OnClick({R.id.tv_simulation, R.id.tv_cover, R.id.tv_slide, R.id.tv_none})
public void onClick(View view) {
switch (view.getId()) {
case R.id.tv_simulation:
selectPageMode(Config.PAGE_MODE_SIMULATION);
setPageMode(Config.PAGE_MODE_SIMULATION);
break;
case R.id.tv_cover:
selectPageMode(Config.PAGE_MODE_COVER);
setPageMode(Config.PAGE_MODE_COVER);
break;
case R.id.tv_slide:
selectPageMode(Config.PAGE_MODE_SLIDE);
setPageMode(Config.PAGE_MODE_SLIDE);
break;
case R.id.tv_none:
selectPageMode(Config.PAGE_MODE_NONE);
setPageMode(Config.PAGE_MODE_NONE);
break;
}
}
//设置翻页
public void setPageMode(int pageMode) {
config.setPageMode(pageMode);
if (pageModeListener != null) {
pageModeListener.changePageMode(pageMode);
}
}
//选择怕翻页
private void selectPageMode(int pageMode) {
if (pageMode == Config.PAGE_MODE_SIMULATION) {
setTextViewSelect(tv_simulation, true);
setTextViewSelect(tv_cover, false);
setTextViewSelect(tv_slide, false);
setTextViewSelect(tv_none, false);
} else if (pageMode == Config.PAGE_MODE_COVER) {
setTextViewSelect(tv_simulation, false);
setTextViewSelect(tv_cover, true);
setTextViewSelect(tv_slide, false);
setTextViewSelect(tv_none, false);
} else if (pageMode == Config.PAGE_MODE_SLIDE) {
setTextViewSelect(tv_simulation, false);
setTextViewSelect(tv_cover, false);
setTextViewSelect(tv_slide, true);
setTextViewSelect(tv_none, false);
} else if (pageMode == Config.PAGE_MODE_NONE) {
setTextViewSelect(tv_simulation, false);
setTextViewSelect(tv_cover, false);
setTextViewSelect(tv_slide, false);
setTextViewSelect(tv_none, true);
}
}
//设置按钮选择的背景
private void setTextViewSelect(TextView textView, Boolean isSelect) {
if (isSelect) {
textView.setBackgroundDrawable(getContext().getResources().getDrawable(R.drawable.button_select_bg));
textView.setTextColor(getContext().getResources().getColor(R.color.read_dialog_button_select));
} else {
textView.setBackgroundDrawable(getContext().getResources().getDrawable(R.drawable.button_bg));
textView.setTextColor(getContext().getResources().getColor(R.color.white));
}
}
public void setPageModeListener(PageModeListener pageModeListener) {
this.pageModeListener = pageModeListener;
}
public interface PageModeListener {
void changePageMode(int pageMode);
}
}