安卓控件使用系列13:SeekBar滑动控件的使用
2015-10-02 16:53
344 查看
安卓中SeekBar控件是用于拖动的一种控件,下面来介绍一下它的使用方法。
这个例子实现的是滑动SeekBar控件,在TextView控件上显示开始或停止拖动和所拖动到的位置。
整体思路:在布局文件中定义两个TextView控件和两个SeekBar控件,第一个SeekBar控件设置max、progress属性,第二个SeekBar控件设置max、progress、secondaryProgress(第二进度)属性;在活动中实现OnSeekBarChangeListener,对每个SeekBar控件设置setOnSeekBarChangeListener这个方法,onProgressChanged是滑动滑杆的时候触发的事件,根据不同的SeekBar控件来显示滑动的位置;onStartTrackingTouch是从哪里开始滑动的方法,根据不同的SeekBar控件来显示该控件开始滑动;onStopTrackingTouch是从哪里结束滑动的方法,根据不同的SeekBar控件来显示该控件结束滑动。通过这样的一个实际的例子可以让开发人员很好的理解SeekBar控件各个事件的作用和使用方法。
activity_main.xml文件:
这个例子实现的是滑动SeekBar控件,在TextView控件上显示开始或停止拖动和所拖动到的位置。
整体思路:在布局文件中定义两个TextView控件和两个SeekBar控件,第一个SeekBar控件设置max、progress属性,第二个SeekBar控件设置max、progress、secondaryProgress(第二进度)属性;在活动中实现OnSeekBarChangeListener,对每个SeekBar控件设置setOnSeekBarChangeListener这个方法,onProgressChanged是滑动滑杆的时候触发的事件,根据不同的SeekBar控件来显示滑动的位置;onStartTrackingTouch是从哪里开始滑动的方法,根据不同的SeekBar控件来显示该控件开始滑动;onStopTrackingTouch是从哪里结束滑动的方法,根据不同的SeekBar控件来显示该控件结束滑动。通过这样的一个实际的例子可以让开发人员很好的理解SeekBar控件各个事件的作用和使用方法。
activity_main.xml文件:
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textview1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/textview2" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <SeekBar android:id="@+id/seekbar1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100" android:progress="30" /> <SeekBar android:id="@+id/seekbar2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100" android:progress="30" android:secondaryProgress="60" /> </LinearLayout>MainActivity.java文件:
public class MainActivity extends Activity implements OnSeekBarChangeListener { private TextView textview1,textview2; private SeekBar seekbar1,seekbar2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textview1=(TextView)findViewById(R.id.textview1); textview2=(TextView)findViewById(R.id.textview2); seekbar1=(SeekBar)findViewById(R.id.seekbar1); seekbar2=(SeekBar)findViewById(R.id.seekbar2); seekbar1.setOnSeekBarChangeListener(this); seekbar2.setOnSeekBarChangeListener(this); } // 当滑动滑杆的时候会触发的事件 @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean arg2) { // TODO Auto-generated method stub if(seekBar.getId()==R.id.seekbar1){ textview2.setText("seekbar1的当前位置是:"+progress); }else{ textview2.setText("seekbar2的当前位置是:"+progress); } } // 从哪里开始拖动 @Override public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub if(seekBar.getId()==R.id.seekbar1){ textview1.setText("seekbar1开始拖动!"); }else{ textview1.setText("seekbar2开始拖动!"); } } // 从哪里结束拖动 @Override public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub if(seekBar.getId()==R.id.seekbar1){ textview1.setText("seekbar1停止拖动!"); }else{ textview1.setText("seekbar2停止拖动!"); } } }
相关文章推荐
- 以后这里就是我记录成长的地方了
- 每个线程都有自己的信号屏蔽字,但是信号的处理时进程中所有线程共享的http://bbs.csdn.net/topics/350222437
- 简单的view 自定义
- 前端图片选择问题
- 异常处理过程和异常处理的执行顺序(针对try{}catch{}finally{}而言)
- 关于Python中全局变量的使用的调试
- 异常处理过程和异常处理的执行顺序(针对try{}catch{}finally{}而言)
- pat1007Maximum Subsequence Sum (25)
- xampp3.2.1安装memcached扩展
- mysql 存储字符表情
- 零基矩阵的特征值和特征向量
- 谓词的补充——使用谓词还可以进行正则表达式的验证
- 基于Android 4.4 开发的多窗口系统 开放源码
- Java 字符串和整型的转换
- hdu 1195 Open the Lock(bfs)
- 创建String对象过程的内存分配小结
- android--Activity窗口切换(左右滑动)
- ZOJ 3822 Domination
- CodeForces 415B Mashmokh and Tokens
- 编程题解析-发型糟糕的一天