Android开发之拖动条和评分组件用法分析
作者:青蛙小王子 时间:2022-01-15 02:55:18
本文实例讲述了Android开发之拖动条和评分组件用法。分享给大家供大家参考,具体如下:
今天闲着没事做就拿出了Android书接着学习,android就是组件多有时候还会弄混淆了。这次介绍的是拖动条和评分组件,这2个组件也是超级简单的
下面就一个一个的来研究。
1. 拖动条,就类似android手机上调节音量那个,该组件和对话框不同的是用户可以操作。该组件的xml表现形式如下
<SeekBar
android:id="@+id/seek"
android:layout_marginLeft="20dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
光这样太枯燥了,这里我做了个拖动切换图片的小例子。这里就要介绍下拖动条的长度了这个长度是可控制的像这里我有5张图片拖动条的size就是5.这个设置我直接写在了程序里。实现很简单就是在拖动条的基础上加个ImageView,然后对拖动条进行拖动的监听值改变了就切换ImageView就好了。下面是主要代码。
bar=(SeekBar)this.findViewById(R.id.seek);
imageview=(ImageView)this.findViewById(R.id.img);
bar.setMax(5);
bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
//切换图片
imageview.setImageResource(imagedata[seekBar.getProgress()]);
}
});
效果图如下所示,我觉得还是挺好的。
2. 下面就是评分插件了,android默认情况下是五角星,如果有必要可以弄成别的
这里我弄了一种自定义的类型,来看下吧
(1)在drawable下面弄个xml文件内容如下
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+android:id/background"
android:drawable="@drawable/star_empty"
/>
<item android:id="@+android:id/secondaryProgress"
android:drawable="@drawable/star_empty"
/>
<item android:id="@+android:id/progress"
android:drawable="@drawable/star_full"
/>
</layer-list>
star_empty是灰色的五角星,star_full是黄色的五角星。上面的配置文件理解起来也很简单,下面就把这个样式嵌入到评分组件上,首先还是写个样式文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style
name="ratingbarstyle"
parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">
@drawable/starconfig
</item>
<item name="android:minHeight">53dip</item>
<item name="android:maxHeight">53dip</item>
</style>
</resources>
顺便说明下starconfig就是上面那个配置文件,下面就是标签了,该组件的常用属性是步长、星星的个数就像下面这样
<RatingBar
android:id="@+id/rating"
android:numStars="5"
android:stepSize="1"
style="@style/ratingbarstyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
后面也自然是事件处理了
rbar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
int num=(int)rating;
String result=null;
switch (num) {
case 1:
result="非常不满意";
break;
case 2:
result="不满意";
break;
case 3:
result="还可以";
break;
case 4:
result="满意";
break;
case 5:
result="非常满意";
break;
default:
break;
}
Toast.makeText(MyDailogActivity.this, result, 1).show();
}
});
来看下效果吧
希望本文所述对大家Android程序设计有所帮助。
标签:Android,拖动条,评分组件
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Fluent Mybatis零xml配置实现复杂嵌套查询
2022-02-03 19:34:32
![](https://img.aspxhome.com/file/2023/9/71859_0s.png)
JAVA语言编程格式高级规范
2021-08-21 01:43:54
springboot项目以jar包运行的操作方法
2023-11-10 07:47:43
![](https://img.aspxhome.com/file/2023/8/59328_0s.png)
Spring Security 图片验证码功能的实例代码
2023-11-17 14:23:56
![](https://img.aspxhome.com/file/2023/0/72350_0s.jpg)
C# Winform实现自定义漂亮的通知效果
2021-08-10 08:15:29
解决Java中的java.io.IOException: Broken pipe问题
2022-01-24 00:40:34
![](https://img.aspxhome.com/file/2023/4/94384_0s.png)
C#实现自动生成电子印章
2022-12-08 10:47:58
![](https://img.aspxhome.com/file/2023/6/91276_0s.png)
Java如何在临界区中避免竞态条件
2022-11-02 09:39:29
java 制作验证码并进行验证实例详解
2023-03-18 11:27:56
使用spring框架实现数据库事务处理方式
2022-03-01 14:38:13
![](https://img.aspxhome.com/file/2023/8/62738_0s.png)
Java微信公众号开发之通过微信公众号获取用户信息
2021-12-16 08:19:19
![](https://img.aspxhome.com/file/2023/3/88043_0s.png)
C# Winform实现进度条显示
2023-09-14 15:47:51
![](https://img.aspxhome.com/file/2023/9/68609_0s.png)
使用Jacoco获取 Java 程序的代码执行覆盖率的步骤详解
2022-07-22 00:25:13
![](https://img.aspxhome.com/file/2023/5/64805_0s.png)
使用aop实现全局异常处理
2021-06-13 12:47:35
基于集合的子集与集合的全排列的相关问题
2023-09-23 07:03:46
Unity打包代码到DLL的实现
2022-06-28 08:38:17
![](https://img.aspxhome.com/file/2023/2/78152_0s.jpg)
java中多个@Scheduled定时器不执行的解决方法
2023-03-19 02:32:34
Java基础之并发相关知识总结
2022-04-24 13:59:05
![](https://img.aspxhome.com/file/2023/4/85414_0s.png)
mybatis-plus QueryWrapper 添加limit方式
2022-12-09 02:08:11
关于后端如何解决跨域的问题说明
2023-09-19 00:59:10
![](https://img.aspxhome.com/file/2023/7/79967_0s.jpg)