Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码

发布时间:2019-08-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

PRogressBar有2个子控件:

SeekBar   拖动条控件

RatingBar   星级评分控件

1、拖动条控件

Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码

  <SeekBar          andROId:layout_width="300dp"          android:layout_height="wrap_content"          android:id="@+id/seekBar"          android:min="0"          android:max="100"          android:progress="50" />  <!--滑块默认位置-->

也可以使用自定义的滑块:

Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码

  <SeekBar      android:layout_width="300dp"      android:layout_height="100dp"      android:id="@+id/seekBar"      android:thumb="@drawable/a"  <!--使用自定义的图片作为滑块-->      android:min="0"      android:max="100"      android:progress="50" />

说明:

并不会自动显示对应的刻度值。

滑块可以滑动,但没有事件响应。需要我们在.java文件中添加事件监听:

  SeekBar mySeekBar=findViewById(R.id.seekBar);      mySeekBar.setOnSeekBArchangeListener(new SeekBar.OnSeekBarChangeListener() {        /*        三个形参:        SeekBar seekBar  触发此事件/监听的Seekbar        int progress  当前刻度值。        boolean FromUser  是否为用户拖动产生的响应,这个不常用        虽然setText(int x)可以设置int型的值,但这个int指的是 R.string.app_name 这样的常量值,不是整型数字。不能setText(progress)这样用,要先转换为String。         */        //滑动滑块时触发        @override        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {          //判断改变的是否是指定的滑动条。预当前ActivITy对应的XMl布局中有多个滑动条,如果只有一个滑动条,则不必判断         if (seekBar.getId()==R.id.seekBar){         }        }        //滑动开始时触发        @Override        public void onStartTrackingTouch(SeekBar seekBar) {          if (seekBar.getId()==R.id.seekBar){          }        }        //滑动停止时触发        @Override        public void onStopTrackingTouch(SeekBar seekBar) {          if (seekBar.getId()==R.id.seekBar){          }        }      });    }

滑动滑块一次触发的事件:

最先开始时触发   onStartTrackingTouch()   ,滑动过程中一直触发   onProgressChanged(),最后停止时触发   onStopTrackingTouch()。

就是说滑动过程中会不停地触发  onProgressChanged()  。

2、星级评分控件

Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码

 <RatingBar      android:layout_width="wrap_content"      android:layout_height="wrap_content"      />

总共默认5颗星,初始默认选择0颗星,默认可修改,默认步长为0.5,即可以点亮颗星。也可手动设置:

  <RatingBar      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:id="@+id/ratingBar"      android:isIndicator="true"  <!--是否可修改,true是不可修改,false是可修改,默认为fasle-->      android:numStars="7"  <!--总星数-->      android:rating="5"  <!--初始默认星数-->      android:stepSize="1" />  <!--步长-->

有时候只是向用户展示评分,并不需要用户评分,比如排行旁的xx指数,这时就需要设置   android:isIndicator="true"    不可修改。

默认为false,可修改。

在.java文件中获取已点亮的星数:

  RatingBar ratingBar=findViewById(R.id.ratingBar);      //获取已点的星数,因为步长可以为小数,所以获取到的是float      float rates=ratingBar.getRating();

在Android中,几乎所有控件都提供了setXxx()、getXxx()方法供我们在.java文件中操作控件的属性。

总结

android教程
脚本网站
android studio

脚本宝典总结

以上是脚本宝典为你收集整理的Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码全部内容,希望文章能够帮你解决Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。