60 lines
1.6 KiB
Java
60 lines
1.6 KiB
Java
package org.retroarch.browser;
|
|
|
|
import org.retroarch.R;
|
|
|
|
import android.content.Context;
|
|
import android.preference.DialogPreference;
|
|
import android.util.AttributeSet;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.widget.SeekBar;
|
|
import android.widget.TextView;
|
|
|
|
public class SeekbarPreference extends DialogPreference implements SeekBar.OnSeekBarChangeListener {
|
|
float seek_value;
|
|
SeekBar bar;
|
|
TextView text;
|
|
public SeekbarPreference(Context context, AttributeSet attrs) {
|
|
super(context, attrs);
|
|
}
|
|
|
|
|
|
@Override
|
|
protected View onCreateDialogView()
|
|
{
|
|
LayoutInflater inflater = ((LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE));
|
|
View view = inflater.inflate(R.layout.seek_dialog, null);
|
|
bar = (SeekBar) view.findViewById(R.id.seekbar_bar);
|
|
text = (TextView) view.findViewById(R.id.seekbar_text);
|
|
seek_value = getPersistedFloat(1.0f);
|
|
int prog = (int) (seek_value * 100);
|
|
bar.setProgress(prog);
|
|
text.setText(String.valueOf(prog) + "%");
|
|
bar.setOnSeekBarChangeListener(this);
|
|
return view;
|
|
}
|
|
|
|
@Override
|
|
protected void onDialogClosed(boolean positiveResult) {
|
|
super.onDialogClosed(positiveResult);
|
|
|
|
if (positiveResult) {
|
|
persistFloat(seek_value);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
|
seek_value = (float) progress / 100.0f;
|
|
text.setText(String.valueOf((int)(seek_value * 100)) + "%");
|
|
}
|
|
|
|
@Override
|
|
public void onStartTrackingTouch(SeekBar seekBar) {
|
|
}
|
|
|
|
@Override
|
|
public void onStopTrackingTouch(SeekBar seekBar) {
|
|
}
|
|
}
|