489 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			489 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
|  | package com.novelbook.android.dialog; | ||
|  | 
 | ||
|  | import android.app.Dialog; | ||
|  | import android.content.Context; | ||
|  | import android.graphics.Typeface; | ||
|  | import android.os.Build; | ||
|  | import android.os.Bundle; | ||
|  | import android.util.Log; | ||
|  | import android.view.Display; | ||
|  | import android.view.Gravity; | ||
|  | import android.view.View; | ||
|  | import android.view.WindowManager; | ||
|  | import android.widget.SeekBar; | ||
|  | import android.widget.TextView; | ||
|  | 
 | ||
|  | 
 | ||
|  | 
 | ||
|  | import com.novelbook.android.utils.CommonUtil; | ||
|  | import com.novelbook.android.utils.Config; | ||
|  | import com.novelbook.android.R; | ||
|  | import com.novelbook.android.utils.DisplayUtils; | ||
|  | import com.novelbook.android.view.CircleImageView; | ||
|  | 
 | ||
|  | import butterknife.BindView; | ||
|  | import butterknife.ButterKnife; | ||
|  | import butterknife.OnClick; | ||
|  | 
 | ||
|  | 
 | ||
|  | public class SettingDialog extends Dialog { | ||
|  | 
 | ||
|  |     @BindView(R.id.tv_dark) | ||
|  |     TextView tv_dark; | ||
|  |     @BindView(R.id.sb_brightness) | ||
|  |     SeekBar sb_brightness; | ||
|  |     @BindView(R.id.tv_bright) | ||
|  |     TextView tv_bright; | ||
|  |     @BindView(R.id.tv_xitong) | ||
|  |     TextView tv_xitong; | ||
|  |     @BindView(R.id.tv_subtract) | ||
|  |     TextView tv_subtract; | ||
|  |     @BindView(R.id.tv_size) | ||
|  |     TextView tv_size; | ||
|  |     @BindView(R.id.tv_add) | ||
|  |     TextView tv_add; | ||
|  |     @BindView(R.id.tv_qihei) | ||
|  |     TextView tv_qihei; | ||
|  |     @BindView(R.id.tv_default) | ||
|  |     TextView tv_default; | ||
|  |     @BindView(R.id.iv_bg_default) | ||
|  |     CircleImageView iv_bg_default; | ||
|  |     @BindView(R.id.iv_bg_1) | ||
|  |     CircleImageView iv_bg1; | ||
|  |     @BindView(R.id.iv_bg_2) | ||
|  |     CircleImageView iv_bg2; | ||
|  |     @BindView(R.id.iv_bg_3) | ||
|  |     CircleImageView iv_bg3; | ||
|  |     @BindView(R.id.iv_bg_4) | ||
|  |     CircleImageView iv_bg4; | ||
|  |     @BindView(R.id.tv_size_default) | ||
|  |     TextView tv_size_default; | ||
|  |     @BindView(R.id.tv_fzxinghei) | ||
|  |     TextView tv_fzxinghei; | ||
|  |     @BindView(R.id.tv_fzkatong) | ||
|  |     TextView tv_fzkatong; | ||
|  |     @BindView(R.id.tv_bysong) | ||
|  |     TextView tv_bysong; | ||
|  |     @BindView(R.id.tv_lhsize) | ||
|  |     TextView tv_lineSpace; | ||
|  |     @BindView(R.id.tv_lhsize_default) | ||
|  |     TextView tv_lhsize_default; | ||
|  | 
 | ||
|  | 
 | ||
|  |     private Config config; | ||
|  |     private Boolean isSystem; | ||
|  |     private SettingListener mSettingListener; | ||
|  |     private int FONT_SIZE_MIN; | ||
|  |     private int FONT_SIZE_MAX; | ||
|  |     private int currentFontSize; | ||
|  | 
 | ||
|  |     private int LINE_SPACE_MIN; | ||
|  |     private int LINE_SPACE_MAX; | ||
|  |     private int currentLineSpace; | ||
|  |     Context mContext; | ||
|  | 
 | ||
|  |     private SettingDialog(Context context, boolean flag, OnCancelListener listener) { | ||
|  |         super(context, flag, listener); | ||
|  |         mContext =context; | ||
|  |     } | ||
|  | 
 | ||
|  |     public SettingDialog(Context context) { | ||
|  |         this(context, R.style.setting_dialog); | ||
|  |     } | ||
|  | 
 | ||
|  |     public SettingDialog(Context context, int themeResId) { | ||
|  |         super(context, themeResId); | ||
|  |         mContext=context; | ||
|  |     } | ||
|  | 
 | ||
|  |     @Override | ||
|  |     protected void onCreate(Bundle savedInstanceState) { | ||
|  |         super.onCreate(savedInstanceState); | ||
|  |         getWindow().setGravity(Gravity.BOTTOM); | ||
|  |         setContentView(R.layout.zdialog_setting); | ||
|  |         // 初始化View注入 | ||
|  |         ButterKnife.bind(this); | ||
|  | 
 | ||
|  |         WindowManager m = getWindow().getWindowManager(); | ||
|  |         Display d = m.getDefaultDisplay(); | ||
|  |         WindowManager.LayoutParams p = getWindow().getAttributes(); | ||
|  |         p.width = d.getWidth(); | ||
|  |       //  p.height = CommonUtil.getDpi(mContext); | ||
|  |         getWindow().setAttributes(p); | ||
|  | 
 | ||
|  |         FONT_SIZE_MIN = (int) getContext().getResources().getDimension(R.dimen.reading_min_text_size); | ||
|  |         FONT_SIZE_MAX = (int) getContext().getResources().getDimension(R.dimen.reading_max_text_size); | ||
|  | 
 | ||
|  |         LINE_SPACE_MAX =60; | ||
|  |         LINE_SPACE_MIN =10; | ||
|  |         config = Config.getInstance(); | ||
|  | 
 | ||
|  |         //初始化亮度 | ||
|  |         isSystem = config.isSystemLight(); | ||
|  |         setTextViewSelect(tv_xitong, isSystem); | ||
|  |         setBrightness(config.getLight()); | ||
|  | 
 | ||
|  |         //初始化字体大小 | ||
|  |         currentFontSize = (int) config.getFontSize(); | ||
|  |         tv_size.setText(currentFontSize + ""); | ||
|  |         setTextViewSelect(tv_size_default, currentFontSize ==60); | ||
|  |         //初始化行间距 | ||
|  |         currentLineSpace =(int) config.getLineSpace(); | ||
|  |         tv_lineSpace.setText(currentLineSpace+""); | ||
|  |         setTextViewSelect(tv_lhsize_default, currentLineSpace==45); | ||
|  | 
 | ||
|  |         //初始化字体 | ||
|  |         tv_default.setTypeface(config.getTypeface(Config.FONTTYPE_DEFAULT)); | ||
|  |         tv_qihei.setTypeface(config.getTypeface(Config.FONTTYPE_QIHEI)); | ||
|  | //        tv_fzxinghei.setTypeface(config.getTypeface(Config.FONTTYPE_FZXINGHEI)); | ||
|  |       //  tv_fzkatong.setTypeface(config.getTypeface(Config.FONTTYPE_FZKATONG)); | ||
|  |      //   tv_bysong.setTypeface(config.getTypeface(Config.FONTTYPE_BYSONG)); | ||
|  | //        tv_xinshou.setTypeface(config.getTypeface(Config.FONTTYPE_XINSHOU)); | ||
|  | //        tv_wawa.setTypeface(config.getTypeface(Config.FONTTYPE_WAWA)); | ||
|  |         selectTypeface(config.getTypefacePath()); | ||
|  | 
 | ||
|  |         selectBg(config.getBookBgType()); | ||
|  | 
 | ||
|  |         sb_brightness.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { | ||
|  |             @Override | ||
|  |             public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { | ||
|  |                 if (progress > 10) { | ||
|  |                     changeBright(false, progress); | ||
|  |                 } | ||
|  |             } | ||
|  | 
 | ||
|  |             @Override | ||
|  |             public void onStartTrackingTouch(SeekBar seekBar) { | ||
|  | 
 | ||
|  |             } | ||
|  | 
 | ||
|  |             @Override | ||
|  |             public void onStopTrackingTouch(SeekBar seekBar) { | ||
|  | 
 | ||
|  |             } | ||
|  |         }); | ||
|  |     } | ||
|  | 
 | ||
|  |     //选择背景 | ||
|  |     private void selectBg(int type) { | ||
|  |         switch (type) { | ||
|  |             case Config.BOOK_BG_DEFAULT: | ||
|  |                 iv_bg_default.setBorderWidth(DisplayUtils.dp2px(getContext(), 2)); | ||
|  |                 iv_bg1.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg2.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg3.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg4.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 break; | ||
|  |             case Config.BOOK_BG_1: | ||
|  |                 iv_bg_default.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg1.setBorderWidth(DisplayUtils.dp2px(getContext(), 2)); | ||
|  |                 iv_bg2.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg3.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg4.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 break; | ||
|  |             case Config.BOOK_BG_2: | ||
|  |                 iv_bg_default.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg1.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg2.setBorderWidth(DisplayUtils.dp2px(getContext(), 2)); | ||
|  |                 iv_bg3.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg4.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 break; | ||
|  |             case Config.BOOK_BG_3: | ||
|  |                 iv_bg_default.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg1.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg2.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg3.setBorderWidth(DisplayUtils.dp2px(getContext(), 2)); | ||
|  |                 iv_bg4.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 break; | ||
|  |             case Config.BOOK_BG_4: | ||
|  |                 iv_bg_default.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg1.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg2.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg3.setBorderWidth(DisplayUtils.dp2px(getContext(), 0)); | ||
|  |                 iv_bg4.setBorderWidth(DisplayUtils.dp2px(getContext(), 2)); | ||
|  |                 break; | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //设置字体 | ||
|  |     public void setBookBg(int type) { | ||
|  |         config.setBookBg(type); | ||
|  |         if (mSettingListener != null) { | ||
|  |             mSettingListener.changeBookBg(type); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //选择字体 | ||
|  |     private void selectTypeface(String typeface) { | ||
|  |         if (typeface.equals(Config.FONTTYPE_DEFAULT)) { | ||
|  |             setTextViewSelect(tv_default, true); | ||
|  |             setTextViewSelect(tv_qihei, false); | ||
|  |             setTextViewSelect(tv_fzxinghei, false); | ||
|  |             setTextViewSelect(tv_fzkatong, false); | ||
|  |             setTextViewSelect(tv_bysong, false); | ||
|  | //            setTextViewSelect(tv_xinshou, false); | ||
|  | //            setTextViewSelect(tv_wawa, false); | ||
|  |         } else if (typeface.equals(Config.FONTTYPE_QIHEI)) { | ||
|  |             setTextViewSelect(tv_default, false); | ||
|  |             setTextViewSelect(tv_qihei, true); | ||
|  |             setTextViewSelect(tv_fzxinghei, false); | ||
|  |             setTextViewSelect(tv_fzkatong, false); | ||
|  |             setTextViewSelect(tv_bysong, false); | ||
|  | //            setTextViewSelect(tv_xinshou, false); | ||
|  | //            setTextViewSelect(tv_wawa, false); | ||
|  |         } else if (typeface.equals(Config.FONTTYPE_FZXINGHEI)) { | ||
|  |             setTextViewSelect(tv_default, false); | ||
|  |             setTextViewSelect(tv_qihei, false); | ||
|  |             setTextViewSelect(tv_fzxinghei, true); | ||
|  |             setTextViewSelect(tv_fzkatong, false); | ||
|  |             setTextViewSelect(tv_bysong, false); | ||
|  | //            setTextViewSelect(tv_xinshou, true); | ||
|  | //            setTextViewSelect(tv_wawa, false); | ||
|  |         } else if (typeface.equals(Config.FONTTYPE_FZKATONG)) { | ||
|  |             setTextViewSelect(tv_default, false); | ||
|  |             setTextViewSelect(tv_qihei, false); | ||
|  |             setTextViewSelect(tv_fzxinghei, false); | ||
|  |             setTextViewSelect(tv_fzkatong, true); | ||
|  |             setTextViewSelect(tv_bysong, false); | ||
|  | //            setTextViewSelect(tv_xinshou, false); | ||
|  | //            setTextViewSelect(tv_wawa, true); | ||
|  |         } else if (typeface.equals(Config.FONTTYPE_BYSONG)) { | ||
|  |             setTextViewSelect(tv_default, false); | ||
|  |             setTextViewSelect(tv_qihei, false); | ||
|  |             setTextViewSelect(tv_fzxinghei, false); | ||
|  |             setTextViewSelect(tv_fzkatong, false); | ||
|  |             setTextViewSelect(tv_bysong, true); | ||
|  | //            setTextViewSelect(tv_xinshou, false); | ||
|  | //            setTextViewSelect(tv_wawa, true); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //设置字体 | ||
|  |     public void setTypeface(String typeface) { | ||
|  |         try { | ||
|  |             config.setTypeface(typeface); | ||
|  |             Typeface tface = config.getTypeface(typeface); | ||
|  |             if (mSettingListener != null) { | ||
|  |                 mSettingListener.changeTypeFace(tface); | ||
|  |             } | ||
|  |         }catch (Exception e){ | ||
|  |             Log.e("SettingDialog", "setTypeface: ",e ); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //设置亮度 | ||
|  |     public void setBrightness(float brightness) { | ||
|  |         sb_brightness.setProgress((int) (brightness * 100)); | ||
|  |     } | ||
|  | 
 | ||
|  |     //设置按钮选择的背景 | ||
|  |     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)); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     private void applyCompat() { | ||
|  |         if (Build.VERSION.SDK_INT < 19) { | ||
|  |             return; | ||
|  |         } | ||
|  |         this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, | ||
|  |                 WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏 | ||
|  |     } | ||
|  | 
 | ||
|  |     public Boolean isShow() { | ||
|  |         return isShowing(); | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     @OnClick({R.id.tv_dark, R.id.tv_bright, R.id.tv_xitong, R.id.tv_subtract, R.id.tv_add, R.id.tv_size_default, R.id.tv_qihei, R.id.tv_fzxinghei, R.id.tv_fzkatong,R.id.tv_bysong, | ||
|  |             R.id.tv_default, R.id.iv_bg_default, R.id.iv_bg_1, R.id.iv_bg_2, R.id.iv_bg_3, R.id.iv_bg_4,R.id.tv_lhadd,R.id.tv_lhreduct,R.id.tv_lhsize_default}) | ||
|  |     public void onClick(View view) { | ||
|  |         switch (view.getId()) { | ||
|  |             case R.id.tv_dark: | ||
|  |                 break; | ||
|  |             case R.id.tv_bright: | ||
|  |                 break; | ||
|  |             case R.id.tv_xitong: | ||
|  |                 isSystem = !isSystem; | ||
|  |                 changeBright(isSystem, sb_brightness.getProgress()); | ||
|  |                 break; | ||
|  |             case R.id.tv_subtract: | ||
|  |                 subtractFontSize(); | ||
|  |                 break; | ||
|  |             case R.id.tv_add: | ||
|  |                 addFontSize(); | ||
|  |                 break; | ||
|  |             case R.id.tv_size_default: | ||
|  |                 defaultFontSize(); | ||
|  |                 break; | ||
|  |             case R.id.tv_qihei: | ||
|  |                 selectTypeface(Config.FONTTYPE_QIHEI); | ||
|  |                 setTypeface(Config.FONTTYPE_QIHEI); | ||
|  |                 break; | ||
|  |             case R.id.tv_fzxinghei: | ||
|  |                 selectTypeface(Config.FONTTYPE_QIHEI); | ||
|  |                 setTypeface(Config.FONTTYPE_QIHEI); | ||
|  |               //  selectTypeface(Config.FONTTYPE_FZXINGHEI); | ||
|  |              //   setTypeface(Config.FONTTYPE_FZXINGHEI); | ||
|  |                 break; | ||
|  |             case R.id.tv_fzkatong: | ||
|  |                 selectTypeface(Config.FONTTYPE_QIHEI); | ||
|  |                 setTypeface(Config.FONTTYPE_QIHEI); | ||
|  |                 //selectTypeface(Config.FONTTYPE_FZKATONG); | ||
|  |                 //setTypeface(Config.FONTTYPE_FZKATONG); | ||
|  |                 break; | ||
|  |             case R.id.tv_bysong: | ||
|  |              //   selectTypeface(Config.FONTTYPE_BYSONG); | ||
|  |              //   setTypeface(Config.FONTTYPE_BYSONG); | ||
|  |                 selectTypeface(Config.FONTTYPE_QIHEI); | ||
|  |                 setTypeface(Config.FONTTYPE_QIHEI); | ||
|  |                 break; | ||
|  | //            case R.id.tv_xinshou: | ||
|  | //                selectTypeface(Config.FONTTYPE_XINSHOU); | ||
|  | //                setTypeface(Config.FONTTYPE_XINSHOU); | ||
|  | //                break; | ||
|  | //            case R.id.tv_wawa: | ||
|  | //                selectTypeface(Config.FONTTYPE_WAWA); | ||
|  | //                setTypeface(Config.FONTTYPE_WAWA); | ||
|  | //                break; | ||
|  |             case R.id.tv_default: | ||
|  |                 selectTypeface(Config.FONTTYPE_DEFAULT); | ||
|  |                 setTypeface(Config.FONTTYPE_DEFAULT); | ||
|  |                 break; | ||
|  |             case R.id.iv_bg_default: | ||
|  |                 setBookBg(Config.BOOK_BG_DEFAULT); | ||
|  |                 selectBg(Config.BOOK_BG_DEFAULT); | ||
|  |                 config.setDayOrNight(false); | ||
|  |                 break; | ||
|  |             case R.id.iv_bg_1: | ||
|  |                 setBookBg(Config.BOOK_BG_1); | ||
|  |                 selectBg(Config.BOOK_BG_1);   config.setDayOrNight(false); | ||
|  |                 break; | ||
|  |             case R.id.iv_bg_2: | ||
|  |                 setBookBg(Config.BOOK_BG_2); | ||
|  |                 selectBg(Config.BOOK_BG_2);   config.setDayOrNight(false); | ||
|  |                 break; | ||
|  |             case R.id.iv_bg_3: | ||
|  |                 setBookBg(Config.BOOK_BG_3); | ||
|  |                 selectBg(Config.BOOK_BG_3);   config.setDayOrNight(false); | ||
|  |                 break; | ||
|  |             case R.id.iv_bg_4: | ||
|  |                 setBookBg(Config.BOOK_BG_4); | ||
|  |                 selectBg(Config.BOOK_BG_4);   config.setDayOrNight(false); | ||
|  |                 break; | ||
|  |             case R.id.tv_lhadd: | ||
|  |                 addLineSpace(); | ||
|  |                 break; | ||
|  |             case R.id.tv_lhreduct: | ||
|  |                 subtractLineSpace(); | ||
|  |                 break; | ||
|  |             case R.id.tv_lhsize_default: | ||
|  |                 defaultLineSpace(); | ||
|  |                 break; | ||
|  |         } | ||
|  |     } | ||
|  |     //变大行间距 | ||
|  |     private void addLineSpace() { | ||
|  |         if (currentLineSpace < LINE_SPACE_MAX) { | ||
|  |             currentLineSpace += 1; | ||
|  |             tv_lineSpace.setText(currentLineSpace + ""); | ||
|  |             setTextViewSelect(tv_lhsize_default,false); | ||
|  |             config.setLineSpace(currentLineSpace); | ||
|  |             if (mSettingListener != null) { | ||
|  |                 mSettingListener.changeLineHeight(currentLineSpace); | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | //默认行间距 | ||
|  |     private void defaultLineSpace() { | ||
|  |         currentLineSpace = (int) getContext().getResources().getDimension(R.dimen.reading_line_spacing); | ||
|  |         tv_lineSpace.setText(currentLineSpace + ""); | ||
|  |         setTextViewSelect(tv_lhsize_default,true); | ||
|  |         config.setLineSpace(currentLineSpace); | ||
|  |         if (mSettingListener != null) { | ||
|  |             mSettingListener.changeLineHeight(currentLineSpace); | ||
|  |         } | ||
|  |     } | ||
|  |     //变小行间距 | ||
|  |     private void subtractLineSpace() { | ||
|  |         if (currentLineSpace > LINE_SPACE_MIN) { | ||
|  |             currentLineSpace -= 1; | ||
|  |             setTextViewSelect(tv_lhsize_default,false); | ||
|  |             tv_lineSpace.setText(currentLineSpace + ""); | ||
|  |             config.setLineSpace(currentLineSpace); | ||
|  |             if (mSettingListener != null) { | ||
|  |                 mSettingListener.changeLineHeight(currentLineSpace); | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  | 
 | ||
|  |     //变大书本字体 | ||
|  |     private void addFontSize() { | ||
|  |         if (currentFontSize < FONT_SIZE_MAX) { | ||
|  |             currentFontSize += 1; | ||
|  |             tv_size.setText(currentFontSize + ""); | ||
|  |             setTextViewSelect(tv_size_default,false); | ||
|  |             config.setFontSize(currentFontSize); | ||
|  |             if (mSettingListener != null) { | ||
|  |                 mSettingListener.changeFontSize(currentFontSize); | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     private void defaultFontSize() { | ||
|  |         currentFontSize = (int) getContext().getResources().getDimension(R.dimen.reading_default_text_size); | ||
|  |         tv_size.setText(currentFontSize + ""); | ||
|  |         setTextViewSelect(tv_size_default,true); | ||
|  |         config.setFontSize(currentFontSize); | ||
|  |         if (mSettingListener != null) { | ||
|  |             mSettingListener.changeFontSize(currentFontSize); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //变小书本字体 | ||
|  |     private void subtractFontSize() { | ||
|  |         if (currentFontSize > FONT_SIZE_MIN) { | ||
|  |             currentFontSize -= 1; | ||
|  |             setTextViewSelect(tv_size_default,false); | ||
|  |             tv_size.setText(currentFontSize + ""); | ||
|  |             config.setFontSize(currentFontSize); | ||
|  |             if (mSettingListener != null) { | ||
|  |                 mSettingListener.changeFontSize(currentFontSize); | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     //改变亮度 | ||
|  |     public void changeBright(Boolean isSystem, int brightness) { | ||
|  |         float light = (float) (brightness / 100.0); | ||
|  |         setTextViewSelect(tv_xitong, isSystem); | ||
|  |         config.setSystemLight(isSystem); | ||
|  |         config.setLight(light); | ||
|  |         if (mSettingListener != null) { | ||
|  |             mSettingListener.changeSystemBright(isSystem, light); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     public void setSettingListener(SettingListener settingListener) { | ||
|  |         this.mSettingListener = settingListener; | ||
|  |     } | ||
|  | 
 | ||
|  |     public interface SettingListener { | ||
|  |         void changeSystemBright(Boolean isSystem, float brightness); | ||
|  | 
 | ||
|  |         void changeFontSize(int fontSize); | ||
|  | 
 | ||
|  |         void changeTypeFace(Typeface typeface); | ||
|  | 
 | ||
|  |         void changeBookBg(int type); | ||
|  | 
 | ||
|  |         void changeLineHeight(int lineHeight); | ||
|  |     } | ||
|  | 
 | ||
|  | } |