package org.solovyev.android.calculator.preferences; import android.content.Context; import android.graphics.Typeface; import android.util.AttributeSet; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import jscl.JsclMathEngine; import org.solovyev.android.material.preferences.Preference; @SuppressWarnings("unused") public class NumberFormatExamplesPreference extends Preference { public NumberFormatExamplesPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public NumberFormatExamplesPreference(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public NumberFormatExamplesPreference(Context context, AttributeSet attrs) { super(context, attrs); } public NumberFormatExamplesPreference(Context context) { super(context); } public void update(JsclMathEngine engine) { final StringBuilder examples = new StringBuilder(); examples.append(" 1/3 = ").append(engine.format(1d / 3)).append("\n"); examples.append(" √2 = ").append(engine.format(Math.sqrt(2d))).append("\n"); examples.append("\n"); examples.append(" 1000 = ").append(engine.format(1000d)).append("\n"); examples.append(" 1000000 = ").append(engine.format(1000000d)).append("\n"); examples.append(" 11^10 = ").append(engine.format(Math.pow(11d, 10))).append("\n"); examples.append(" 10^24 = ").append(engine.format(Math.pow(10d, 24))).append("\n"); examples.append("\n"); examples.append(" 0.001 = ").append(engine.format(0.001d)).append("\n"); examples.append("0.000001 = ").append(engine.format(0.000001d)).append("\n"); examples.append(" 11^−10 = ").append(engine.format(Math.pow(11d, -10))).append("\n"); examples.append(" 10^−24 = ").append(engine.format(Math.pow(10d, -24))); setSummary(examples); } @Override protected View onCreateView(ViewGroup parent) { final View view = super.onCreateView(parent); final View summary = view.findViewById(android.R.id.summary); if (summary instanceof TextView) { final TextView textView = (TextView) summary; textView.setMaxLines(12); textView.setLines(12); textView.setTypeface(Typeface.MONOSPACE); } return view; } }