Hey Marc, I just want to thank you again (but don't wanna flood the list).
I had no idea that preferences could be extended with new types so easily.
Thanks again!

Cheers,
Stoyan

On Fri, Jan 9, 2009 at 4:52 AM, Marc Lester Tan <mail...@gmail.com> wrote:
> Hi Stoyan,
>
> Yesterday I also asked myself if there's a Seekbar preference but I looked
> around and did not find any so I created my own. Here's my code if it will
> help you.
>
>
> public class SeekBarPreference extends DialogPreference{
>
>     private Context context;
>     private SeekBar volumeLevel;
>
>     public SeekBarPreference(Context context, AttributeSet attrs) {
>         super(context, attrs);
>         this.context = context;
>     }
>
>     protected void onPrepareDialogBuilder(Builder builder) {
>
>         LinearLayout layout = new LinearLayout(context);
>         layout.setLayoutParams(new
> LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
> LinearLayout.LayoutParams.WRAP_CONTENT));
>         layout.setMinimumWidth(400);
>         layout.setPadding(20, 20, 20, 20);
>
>         volumeLevel = new SeekBar(context);
>         volumeLevel.setMax(8);
>         volumeLevel.setLayoutParams(new
> ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
> ViewGroup.LayoutParams.WRAP_CONTENT));
>         volumeLevel.setProgress(0); // You might want to fetch the value
> here from sharedpreferences
>
>         layout.addView(volumeLevel);
>
>
>         builder.setView(layout);
>
>         super.onPrepareDialogBuilder(builder);
>     }
>
>     protected void onDialogClosed(boolean positiveResult) {
>         if(positiveResult){
>             persistString(volumeLevel.getProgress()+"");
>         }
>     }
>
> }
>
>
> then in your activity you can use this class:
>
> SeekBarPreference sb = new SeekBarPreference(this, null);
> sb.setTitle(R.string.volume);
> sb.setSummary(R.string.volume_summary);
> sb.setKey(VOLUME_LEVEL_PREF);
>
> -Marc
>
> On Fri, Jan 9, 2009 at 9:13 AM, Stoyan Damov <stoyan.da...@gmail.com> wrote:
>>
>> Hi guys,
>>
>> The emulator and G1's Settings apps apparently launches a preference
>> activity.
>> In Settings, Sound and Display, when you touch the "Ringer volume"
>> setting, a dialog pops up, which shows a SeekBar.
>> My question is how is this implemented because I need a similar (seek
>> bar-driven) setting in my app.
>>
>> I don't have Android's source code and am hesitant to download 2.1G
>> just to check :(
>> I'm guess this setting does NOT launch an intent which pops up the
>> dialog (because I'd expect that intent to be wrapped in
>> PreferenceScreen and then I'd see the circled arrow indicator) but
>> can't be sure.
>> I know many people on the list are Google employees and am hoping I'll
>> get an answer.
>>
>> Thanks in advance,
>> Stoyan
>>
>>
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to