Android开发之拖动条和评分组件用法分析
时间:2022-07-28
本文章向大家介绍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程序设计有所帮助。
- 想打造一个神经网络,自动给黑白照片上色?这儿有一份超详细教程
- WP_Widget_PostViews has a deprecated constructor 报错解决
- 详解Linux系统的CPU负载均值
- Linux服务器的进程查看命令详解
- 另类SEO分享:利用JS封装iframe躲过搜索引擎的抓取
- Linux :MAC 地址克隆方法
- 解决WordPress修改数据库表前缀后无法登陆的问题
- 解决启用WP-Super-Cache后出现的几个问题
- Shell下制作自解压安装包,实现脚本的简单加密
- WordPress(Twenty Ten主题)文章副标题修改教程
- ipvsadm启动报错解决办法,另附ipvsadm详细参数
- Linux:mv 命令的10个实用例子
- Linux优化方法收集与整理
- 常用MySQL语句搜集整理
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Unlock a VBA password protected Excel file By HKL,
- kde安装gtk主题(kde-gtk-theme)KDE4下gtk程序美化 By HKL,
- Monkey's Audio vs. WavPack vs. FLAC By HKL,
- 彻底屏蔽优酷广告 By HKL, Monday 12 Au
- C# 如何给Winform的button等控件添加快捷键 By HKL,
- kmskeys10 By HKL, Saturday 7
- C# Random 生成不重复随机数 By HKL, We
- Resin4配置 By HKL, Thursday 11
- 从源码编译N(ginx)+M(ySQL)+P(HP)并安装WordPress By HKL,
- MPEG4视频中,I帧、p帧、B帧的判定(转载) By HKL,
- 使用attrib命令解决存储器中毒后文件夹被隐藏的方法 By HKL,
- 在Archlinux上通过qemu运行ReactOS By HKL,
- Archlinux下解决wireshark普通用户抓包权限问题 By HKL,
- 使用jemalloc对nginx进行优化 By HKL,
- 配置IIS6+PHP5.6+MySQL5 By HKL,