Android开发之拖动条/滑动条控件、星级评分控件功能的实例代码
作者:chenhongyong 时间:2022-04-26 20:29:21
ProgressBar有2个子控件:
SeekBar 拖动条控件
RatingBar 星级评分控件
1、拖动条控件
<SeekBar
android:layout_width="300dp"
android:layout_height="wrap_content"
android:id="@+id/seekBar"
android:min="0"
android:max="100"
android:progress="50" /> <!--滑块默认位置-->
也可以使用自定义的滑块:
<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、星级评分控件
<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开发之拖动条/滑动条控件、星级评分控件功能的实例代码,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
来源:https://www.cnblogs.com/chy18883701161/archive/2019/05/17/10883908.html
标签:android,拖动条,滑动条,星级评分
0
投稿
猜你喜欢
C#如何让winform程序中的输入文本框保留上次的输入
2022-12-29 12:54:00
C#实现EPL II格式打印与打印测试
2021-10-24 06:40:50
Android Studio3.6设置Gradle Offline Mode的方法
2022-07-26 09:36:01
c# Thread类线程常用操作详解
2021-09-20 21:35:51
C#实现获取机器码的示例详解
2021-11-13 06:57:19
C#开发中的垃圾回收机制简析
2022-08-06 14:10:56
C#游戏开发之实现俄罗斯方块游戏
2022-11-24 11:12:31
Android实现显示和隐藏密码功能的示例代码
2022-12-14 23:40:09
Android11及以上文件读写权限申请详细介绍
2022-04-14 01:02:42
深入谈谈C#9新特性的实际运用
2021-05-26 16:08:23
Java Spring中Quartz调度器详解及实例
2022-09-30 03:31:13
startActivityForResult和setResult案例详解
2023-09-15 19:13:33
android viewpager实现竖屏滑动效果
2021-12-19 18:05:44
IDEA2020如何打开Run Dashboard的方法步骤
2023-02-10 15:29:10
Sharding-Proxy基本功能用法介绍
2021-10-17 06:41:03
.Net WInform开发笔记(五)关于事件Event
2023-11-22 01:00:18
c#在控制台输出彩色文字的方法
2021-07-17 03:46:51
C#调用Java方法实例详解
2021-10-16 22:50:20
SpringBoot中整合Minio文件存储的安装部署过程
2022-02-21 01:28:14
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2023-04-09 06:40:54