当前位置:   article > 正文

Android中 SeekBar(拖动条)的使用_安卓开发中,类继承seekbar,怎么实现长按进度条时,进度值保持长按之前的进度值

安卓开发中,类继承seekbar,怎么实现长按进度条时,进度值保持长按之前的进度值
SeekBar控件的拖动效果
SeekBar控件效果展示

 

 

 

拖动条SeekBar继承了ProgressBar,因此ProgressBar所支持的xml属性和方法完全适合SeekBar。只是进度条ProgressBar采用颜色填充来表明进度完成程度,拖动条SeekBar则通过滑块的外置来标识——拖动滑块允许进度值的改变。(例如:条件Android系统的音量)

如上图,通过拖动SeekBar滑块,实现图片透明度的修改。实现代码如下:

  • 创建xml布局文件(activity_seek_bar.xml)

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. xmlns:app="http://schemas.android.com/apk/res-auto"
  4. xmlns:tools="http://schemas.android.com/tools"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical"
  8. tools:context=".SeekBarActivity">
  9. <ImageView
  10. android:id="@+id/image"
  11. android:layout_width="match_parent"
  12. android:layout_height="wrap_content"
  13. android:src="@drawable/pineapple" />
  14. <!--android:thumb 自定义一个Drawable对象(设置滑块的小图标)-->
  15. <SeekBar
  16. android:id="@+id/seekbar"
  17. android:layout_width="match_parent"
  18. android:layout_height="wrap_content"
  19. android:max="250"
  20. android:progress="150"
  21. android:thumb="@drawable/test" />
  22. </LinearLayout>

滑块最大值为250,当前值为150。可通过拖动滑块进行改变。android:thumb 为滑块自定义一个Drawable对象(设置滑块的小图标),使滑块更加好看。

 

  • 创建Activity操作实现类:

  1. public class SeekBarActivity extends AppCompatActivity {
  2. private ImageView imageView;//图片
  3. private SeekBar seekBar;//拖动条
  4. @Override
  5. protected void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7. setContentView(R.layout.activity_seek_bar);
  8. imageView = (ImageView)findViewById(R.id.image);
  9. seekBar = (SeekBar)findViewById(R.id.seekbar);
  10. seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {、
  11. //滑块位置变动时触发该方法
  12. @Override
  13. public void onProgressChanged(SeekBar seekBar, int progress, boolean b) {
  14. //设置图片透明度
  15. imageView.setImageAlpha(progress);
  16. }
  17. @Override
  18. public void onStartTrackingTouch(SeekBar seekBar) {
  19. }
  20. @Override
  21. public void onStopTrackingTouch(SeekBar seekBar) {
  22. }
  23. });
  24. }
  25. }

SeekBar滑块位置变动时,ImageVIew的透明度将变为该拖动条SeekBar的当前值,将看到顶部图片展示的效果。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/384671
推荐阅读
相关标签
  

闽ICP备14008679号