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); } }