首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android SeekBarPreference浅说

2012-08-03 
Android SeekBarPreference浅聊???? 由于网上有很多人问到SeekBarPreference怎么去实现,今天将这个效果做

Android SeekBarPreference浅聊

???? 由于网上有很多人问到SeekBarPreference怎么去实现,今天将这个效果做出来,本例子并没有真正的改变屏幕亮度,如果真正想去实现,那么可以在这个类中onProgressChanged()方法或者onDialogClosed()方法中写上自己调节亮度的代码,并将这些值保存起来。

??????1.首先定义一个类SeekBarPreference继承于DialogPreference的类:

java代码:

    package eoe.demo;import android.content.Context;import android.preference.DialogPreference;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.widget.SeekBar;import android.widget.TextView;import android.widget.SeekBar.OnSeekBarChangeListener;public class SeekBarPreference extends DialogPreference implementsOnSeekBarChangeListener {private SeekBar seekBar;private TextView textView;public SeekBarPreference(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}@Overrideprotected void onBindDialogView(View view) {// TODO Auto-generated method stubsuper.onBindDialogView(view);seekBar = (SeekBar) view.findViewById(R.id.seekBar1);textView = (TextView) view.findViewById(R.id.textView1);seekBar.setOnSeekBarChangeListener(this);}@Overrideprotected void onDialogClosed(boolean positiveResult) {// TODO Auto-generated method stubif (positiveResult) {Log.i("Dialog closed", "You click positive button");} else {Log.i("Dialog closed", "You click negative button");}}@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,booleanfromUser) {textView.setText(progress + "% " + progress + "/100");}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}}


复制代码

??????2.以上实现的为一个对话框式的Preference,也就是SeekBar将会旋转在一个DialogPreference上,以下为DialogPreference的dialogLayout文件: http://www.my400800.cn


java代码:

    <?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="fill_parent"android:orientation="vertical"><SeekBar android:layout_width="fill_parent"android:layout_height="wrap_content" android:id="@+id/seekBar1"android:layout_marginLeft="20dip" android:layout_marginRight="10dip"android:max="100" android:progress="60"></SeekBar><TextView android:text="TextView" android:id="@+id/textView1"android:layout_height="wrap_content" android:layout_width="fill_parent"android:layout_marginLeft="20dip" ></TextView></LinearLayout>


??????3.将写好的自定义Preference类放到定义preference的xml文件中:

?

java代码:
    <hz.demo.SeekBarPreferenceandroid:dialogTitle="亮度调整" android:title="调整亮度" android:summary="调整屏幕的亮度" android:key="light" android:dialogLayout="@layout/seekbar"></hz.demo.SeekBarPreference>

热点排行