Android开发之拖动条和评分组件用法分析
作者:青蛙小王子 发布时间:2022-01-15 02:55:18
标签:Android,拖动条,评分组件
本文实例讲述了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程序设计有所帮助。
0
投稿
猜你喜欢
- 一、DataTable转XML#region DataTableToXml /// &
- 前言本文简单介绍了设计模式的一种——职责链模式 一、职责链模式的定义与特点定义:为了避免请求发送者与多个请求处理者耦合在一起,于是
- 注释介绍@Cacheable@Cacheable 的作用 主要针对方法配置,能够根据方法的请求参数对其结果进行缓存@Cacheable 作用
- 目录简介强引用软引用弱引用虚引用简介从JDK1.2版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由
- VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用、JVM堆内存消耗、线程、类加载的实时监控,内存dump文件
- 这篇文章需要对git具有一定的了解,并且知道如何安装git工具(其实就是上git官网下载个文件,安装)git这种版本控制工具有什么好处第一个
- 1.利用 “+”(加号)运算符:string str = “Hello”+ “World”; console.WriteLine(str);
- 一、基本概念Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intrane
- 代码如下所示:<!-- 配置数据源 --> <bean id="dataSource" c
- 引言周五去面试又被面试的一个问题问哑巴了面试官:StringBuilder和StringBuffer的区别在哪?我:StringBuilde
- Q:使用过滤器、 * 与切片实现每个请求耗时的统计,并比较三者的区别与联系过滤器Filter 过滤器概念Filter是J2E中来的,可以看做
- 本文实例讲述了C#实现的JS操作类。分享给大家供大家参考。具体如下:这个C#类封装了常用的JS客户端代码操作,包括弹出对话框、返回上一页,通
- 关于隐藏和覆盖的区别,要提到RTTI(run-time type identification)(运行期类型检查),也就是运行期的多态,当一
- 一、读取系统配置文件application.yaml1、application.yaml配置文件中增加一下测试配置testdata: &nb
- 如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HT
- 一、添加依赖<!--SpringBoot使用Swagger2构建API文档的依赖--> <dep
- 前言:对于一个程序员来说,尤其是在java web端开发的程序员,三大框架:Struts+Hibernate+Spring是必须要掌握熟透的
- Sentinel是阿里巴巴开源的限流器熔断器,并且带有可视化操作界面。在日常开发中,限流功能时常被使用,用于对某些接口进行限流熔断,譬如限制
- 归并排序简单解释:该算法是采用分治法,把数组不断分割,直至成为单个元素,然后比较再合并(合并的过程就是两部分分别从头开始比较,取出最小或最大
- 本文实例讲述了.net文件上传时实现通过文件头确认文件类型的方法,其中 script 用来返回给页面的数据,读者还可以根据自身需要对相关部分