@SuppressWarnings("ResourceType") @Override public Dialog onCreateDialog(Bundle savedInstanceState) { assert getArguments() != null; MaterialDialog dialog = new MaterialDialog.Builder(getActivity()) .title(getArguments().getInt(KEY_TITLE)) .customView(R.layout.dialog_textsize, true) .negativeText(android.R.string.cancel) .positiveText(android.R.string.ok) .neutralText(R.string.defaultValue) .autoDismiss(false) .onAny(this) .build(); final View view = dialog.getCustomView(); assert view != null; mPreview = (TextView) view.findViewById(R.id.preview); mSeeker = (SeekBar) view.findViewById(R.id.seeker); mValue = (TextView) view.findViewById(R.id.value); final int defaultValue = Config.textSizeForMode( getActivity(), getArguments().getString(KEY_ATEKEY), getArguments().getString(KEY_MODE)); mPreview.setTextSize(TypedValue.COMPLEX_UNIT_PX, defaultValue); mSeeker.setMax(111); final int dpValue = pxToSp(this, defaultValue); mSeeker.setProgress(dpValue - 1); mValue.setText(String.format("%dsp", dpValue)); mSeeker.setOnSeekBarChangeListener( new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { progress++; if (fromUser) { final int pxValue = spToPx(progress); mPreview.setTextSize(TypedValue.COMPLEX_UNIT_PX, pxValue); mValue.setText(String.format("%dsp", progress)); } } @Override public void onStartTrackingTouch(SeekBar seekBar) {} @Override public void onStopTrackingTouch(SeekBar seekBar) {} }); ATE.apply(view, getArguments().getString(KEY_ATEKEY)); return dialog; }
private void init(Context context, AttributeSet attrs) { setTag("text_primary"); String key = null; if (attrs != null) { TypedArray a = context.getTheme().obtainStyledAttributes(attrs, R.styleable.ATEPrimaryTextView, 0, 0); try { key = a.getString(R.styleable.ATEPrimaryTextView_ateKey_primaryTextView); } finally { a.recycle(); } } ATE.apply(context, this, key); }