android:layout_height="0dp" | android:layout_height="0dp" | ||||
android:layout_weight="1" /> | android:layout_weight="1" /> | ||||
<LinearLayout | |||||
android:layout_width="match_parent" | |||||
android:layout_height="wrap_content" | |||||
android:layout_weight="1" > | |||||
<Button | |||||
android:id="@+id/resetToDefault" | |||||
android:layout_width="wrap_content" | |||||
android:layout_height="wrap_content" | |||||
android:layout_gravity="bottom" | |||||
android:layout_weight="1" | |||||
android:text="@string/resetToDefault" /> | |||||
</LinearLayout> | |||||
</LinearLayout> | </LinearLayout> |
<string name="espeak_volume">Volume</string> | <string name="espeak_volume">Volume</string> | ||||
<string name="formatter_wpm">%s WPM</string> | <string name="formatter_wpm">%s WPM</string> | ||||
<string name="formatter_percentage">%s%%</string> | <string name="formatter_percentage">%s%%</string> | ||||
<string name="resetToDefault">Set to default</string> | |||||
</resources> | </resources> |
import android.preference.DialogPreference; | import android.preference.DialogPreference; | ||||
import android.util.AttributeSet; | import android.util.AttributeSet; | ||||
import android.view.View; | import android.view.View; | ||||
import android.widget.Button; | |||||
import android.widget.SeekBar; | import android.widget.SeekBar; | ||||
import android.widget.TextView; | import android.widget.TextView; | ||||
private TextView mValueText; | private TextView mValueText; | ||||
private int mProgress = 0; | private int mProgress = 0; | ||||
private int mDefaultValue = 0; | |||||
private int mMin = 0; | private int mMin = 0; | ||||
private int mMax = 100; | private int mMax = 100; | ||||
private String mFormatter = "%s"; | private String mFormatter = "%s"; | ||||
callChangeListener(text); | callChangeListener(text); | ||||
} | } | ||||
public void setDefaultValue(int defaultValue) { | |||||
mDefaultValue = defaultValue; | |||||
} | |||||
public int getDefaultValue() { | |||||
return mDefaultValue; | |||||
} | |||||
public int getMin() { | public int getMin() { | ||||
return mMin; | return mMin; | ||||
} | } | ||||
View root = super.onCreateDialogView(); | View root = super.onCreateDialogView(); | ||||
mSeekBar = (SeekBar)root.findViewById(R.id.seekBar); | mSeekBar = (SeekBar)root.findViewById(R.id.seekBar); | ||||
mValueText = (TextView)root.findViewById(R.id.valueText); | mValueText = (TextView)root.findViewById(R.id.valueText); | ||||
Button reset = (Button)root.findViewById(R.id.resetToDefault); | |||||
reset.setOnClickListener(new View.OnClickListener(){ | |||||
@Override | |||||
public void onClick(View v) | |||||
{ | |||||
mSeekBar.setProgress(getDefaultValue()); | |||||
} | |||||
}); | |||||
return root; | return root; | ||||
} | } | ||||
private static Preference createPreference(Context context, SpeechSynthesis.Parameter parameter, String key, int titleRes) { | private static Preference createPreference(Context context, SpeechSynthesis.Parameter parameter, String key, int titleRes) { | ||||
final String title = context.getString(titleRes); | final String title = context.getString(titleRes); | ||||
final int defaultValue = parameter.getDefaultValue(); | |||||
final SeekBarPreference pref = new SeekBarPreference(context); | final SeekBarPreference pref = new SeekBarPreference(context); | ||||
pref.setTitle(title); | pref.setTitle(title); | ||||
pref.setMin(parameter.getMinValue()); | pref.setMin(parameter.getMinValue()); | ||||
pref.setMax(parameter.getMaxValue()); | pref.setMax(parameter.getMaxValue()); | ||||
pref.setDefaultValue(defaultValue); | |||||
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); | final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); | ||||
final String prefString = prefs.getString(key, null); | final String prefString = prefs.getString(key, null); | ||||
if (prefString == null) { | if (prefString == null) { | ||||
pref.setProgress(parameter.getDefaultValue()); | |||||
pref.setProgress(defaultValue); | |||||
} else { | } else { | ||||
pref.setProgress(Integer.parseInt(prefString)); | pref.setProgress(Integer.parseInt(prefString)); | ||||
} | } |