经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Android » 查看文章
拖动条(SeekBar)的功能与用法
来源:cnblogs  作者:Fantasy1021  时间:2019/11/4 8:29:20  对本文有异议

拖动条和进度条非常相似,只是进度条采用颜色填充来表明进度完成的程度,而拖动条则通过滑块的位置来标识数值——而且拖动条允许用户拖动滑块来改变值,因此拖动条通常用于对系统的某种数值进行调节,比如调节音量等。

由于拖动条SeekBar继承了ProgressBar,因此ProgressBar所支持的XML属性和方法完全适合用于SeekBar。

SeekBar允许用户改变拖动条的滑块外观,改变滑块外观通过如下属性来指定。

  • android:thumd:指定一个Drawable对象,该对象将作为自定义滑块。
  • uandroid:tickMark:制定一个Drawable对象,该对象将作为自定义刻度图标。

为了让程序能响应拖动条滑块位置的改变,程序可以考虑为它绑定一个OnSeekBarChangeListener监听器。

下面是通过拖动滑块改变图片的透明度实例

布局文件如下。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout
  3. xmlns:android="http://schemas.android.com/apk/res/android"
  4. android:orientation="vertical"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent">
  7. <ImageView
  8. android:id="@+id/image"
  9. android:layout_width="match_parent"
  10. android:layout_height="240dp"
  11. android:src="@drawable/lijiang"/>
  12. <!--定义一个拖动条,并改变它的滑块外观-->
  13. <SeekBar
  14. android:id="@+id/seekbar"
  15. android:layout_width="match_parent"
  16. android:layout_height="wrap_content"
  17. android:max="255"
  18. android:progress="255"
  19. android:thumb="@mipmap/ic_launcher"/>
  20. <!--定义一个拖动条,并改变它的刻度图标-->
  21. <SeekBar
  22. android:id="@+id/seekbar2"
  23. android:layout_width="match_parent"
  24. android:layout_height="wrap_content"
  25. android:max="10"
  26. android:tickMark="@drawable/tickmark"/>
  27. </LinearLayou>

 主程序如下。

  1. public class MainActivity extends AppCompatActivity {
  2. @Override
  3. protected void onCreate(Bundle savedInstanceState) {
  4. super.onCreate(savedInstanceState);
  5. setContentView(R.layout.activity_main);
  6. final ImageView image = findViewById(R.id.image);
  7. SeekBar seekBar = findViewById(R.id.seekbar);
  8. seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
  9. @Override
  10. public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
  11. //动态改变图片的透明度
  12. image.setImageAlpha(progress);
  13. }
  14. @Override
  15. public void onStartTrackingTouch(SeekBar seekBar) {
  16. }
  17. @Override
  18. public void onStopTrackingTouch(SeekBar seekBar) {
  19. }
  20. });
  21. }
  22. }

上面红色字体代码是监听拖动条上滑块位置发生改变的关键代码,当滑块位置发生改变时,ImageView的透明度将变为该拖动条的当前数值。运行程序如图。

 

 改变拖动条后

 

原文链接:http://www.cnblogs.com/de1021/p/11784410.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号