android开发分享拖动条(SeekBar)的功能与用法

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

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

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

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

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

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

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

布局文件如下。

<?xml version="1.0" encoding="utf-8"?>  <linearlayout      xmlns:android="https://schemas.android.com/apk/res/android"      android:orientation="vertical"      android:layout_width="match_parent"      android:layout_height="match_parent">      <imageview          android:id="@+id/image"          android:layout_width="match_parent"          android:layout_height="240dp"          android:src="@drawable/lijiang"/>      <!--定义一个拖动条,并改变它的滑块外观-->      <seekbar          android:id="@+id/seekbar"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:max="255"          android:progress="255"          android:thumb="@mipmap/ic_launcher"/>      <!--定义一个拖动条,并改变它的刻度图标-->      <seekbar          android:id="@+id/seekbar2"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:max="10"          android:tickmark="@drawable/tickmark"/>  </linearlayou>

 主程序如下。

public class mainactivity extends appcompatactivity {        @override      protected void oncreate(bundle savedinstancestate) {          super.oncreate(savedinstancestate);          setcontentview(r.layout.activity_main);          final imageview image = findviewbyid(r.id.image);          seekbar seekbar = findviewbyid(r.id.seekbar);          seekbar.setonseekbarchangelistener(new seekbar.onseekbarchangelistener() {              @override              public void onprogresschanged(seekbar seekbar, int progress, boolean fromuser) {                  //动态改变图片的透明度                  image.setimagealpha(progress);              }                @override              public void onstarttrackingtouch(seekbar seekbar) {                }                @override              public void onstoptrackingtouch(seekbar seekbar) {                }          });      }  }

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

拖动条(SeekBar)的功能与用法

 

 改变拖动条后

拖动条(SeekBar)的功能与用法

 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/900273.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐