控件_SeekBar与RatingBar
这两种进度条都是ProgressBar的子类
SeekBar:是一种可以拖动的进度条,比如播放音乐的进度
import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener; public class MainActivity extends Activity {
private SeekBar seekbar;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); seekbar = (SeekBar) findViewById(R.id.seekbar);
seekbar.setProgress(30);
seekbar.setSecondaryProgress(50);
seekbar.setOnSeekBarChangeListener(new SeekBarListener());
} class SeekBarListener implements OnSeekBarChangeListener{
/*
* seekbar 该对象指的是触发了监听器的SeekBar对象,就是说哪个SeekBar触发了监听器(因为有可能多个SeekBar绑定到这个监听器上)
* progress 指的是当前SeekBar的进度
* fromUser 表示进度的改变是否来自于用户,是则为true
* */
//该方法当进度条变化的时候调用
public void onProgressChanged(SeekBar seekbar, int progress, boolean fromUser) {
System.out.println("progress="+progress+",fromUser="+fromUser);
} //当用户滑动进度条的时候调用
public void onStartTrackingTouch(SeekBar seekBar) {
System.out.println("Onstart");
} //当用户终止滑动的时候调用
public void onStopTrackingTouch(SeekBar seekBar) {
System.out.println("Onstop");
} }
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <SeekBar
android:id="@+id/seekbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
/> </RelativeLayout>
RatingBar:星星,就是用于评价星级
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener; public class MainActivity extends Activity {
private RatingBar ratingbar;
private Button button;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); ratingbar = (RatingBar) findViewById(R.id.ratingbar);
ratingbar.setOnRatingBarChangeListener(new RatingBarListener());
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new ButtonListener()); } //该监听器只有onRatingChanged一个方法,第一个参数表示那个对象触发了监听器,第二个参数表示当前星数,第三个参数表示是否来自用户的改变
class RatingBarListener implements OnRatingBarChangeListener{
public void onRatingChanged(RatingBar ratingbar, float rating, boolean fromUser) {
System.out.println("rating="+rating+",fromUser="+fromUser);
}
} class ButtonListener implements OnClickListener{
public void onClick(View v) {
ratingbar.setRating(ratingbar.getRating()+0.5f);
}
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" > <RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="0.5"
/> <Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/ratingbar"
android:text="button"
/> </RelativeLayout>
<!--
android:numStars="4" 表示设置多少个星通常都是5个星
android:progress="3" 设置当前的星数
android:stepSize="0.5" 滑动的时候表示每次请进的距离,0。5就是每次半颗星,1就是一个星
-->
控件_SeekBar与RatingBar的更多相关文章
- android基本控件学习-----SeekBar&RatingBar
SeekBar(拖动条)和RatingBar(星级评分条)讲解 一.SeekBar(拖动条) (1)拖动条简单理解就是可以拖动的线,这个对我们来讲很常见,比如视频播放或者音乐播放我们拖动播放的进度,下 ...
- Android自定义评分控件:RatingStarView
RatingStarView Android自定义的评分控件,类似ProgressBar那样的,使用星星图标(full.half.empty)作为progress标识的评分/打分控件. 效果图 图1: ...
- Android星星评分控件RatingBar的使用
在Android的开发中,有一个叫做评分控件RatingBar,我们可以使用该控件做等级划分.评分等作用,星星形状显示,也可以半星级别,我们来看一下评分控件如何使用. 布局文件中定义控件以及属性,这里 ...
- ProgressBar、RatingBar和Spinner控件
1.ProgressBar.SeekBar与RatingBar控件 ProgressBar控件,也就是我们通常的进度条控件,可以显示加载的进度等.SeekBar控件,滑块控件,可以根据用户的需要动态为 ...
- Android常用控件之RatingBar的使用
RatingBar控件比较常见就是用来做评分控件,先上图看看什么是RatingBar 在布局文件中声明 <?xml version="1.0" encoding=" ...
- 自定义RatingBar评分控件
1.介绍 实现类似美团外卖评分供能,系统提供了RatingBar,今天来自定义一波,当做自定义view的一个学习,效果如下,能够滑动或者点击变化星星数量 2.自定义属性 在values目录下的attr ...
- Android 中常见控件的介绍和使用
1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.la ...
- 第二十九篇:使用SOUI的SMCListView控件
列表控件是客户端应用最常用的控件之一.列表控件通常只负责显示数据,最多通知一下APP列表行的选中状态变化. 现在的UI经常要求程序猿在列表控件里不光显示内容,还要能和用户交互,显示动画等等,传统的列表 ...
- Android 控件属性介绍
1.LinearLayout(线性布局): 可以分为水平线性:android:orientation= " horizontal " 和垂直线性:android:orientati ...
随机推荐
- sql 表连接
join (inner join ) 注释:INNER JOIN 关键字在表中存在至少一个匹配时返回行. left join 注释:LEFT JOIN 关键字从左表(table1)返回所有的行,即 ...
- link rel=alternate网站换肤功能
此方法借助HTML rel属性的alternate属性值实现. <link href="reset.css" rel="stylesheet" type= ...
- ES6+ 开发 React 组件
在这里简要的说一下这些语言新特性对 React 应用的开发有什么影响,这些 ES6+ 特性使得 React 开发更简单更有趣. 类 迄今为止,最能体现我们使用 ES6+ 来编写 React 组件的就是 ...
- IBatisNet动态update以及DateTime类型字段处理
在维护一个老项目中碰到的问题.SQL配置如下(只简单列出两个字段): <update id="ProjectInfo.Update" parameterClass=" ...
- [android] notification入门
通知栏,对话框,Toast是我们接触的三个提示框,通知栏是在系统的应用com.adnroid.systemui当中的 接触的几个Manger,getSystemService()方法得到的,参数: A ...
- php导出excel再IE下乱码问题
$userBrowser = $_SERVER['HTTP_USER_AGENT']; //判断是否是ie内核 $fileName = '会员列表-'.date('Y-m-d', time()).'. ...
- idea not found for the web module
intellij IDEA 的tomcat 配置项里面没有的app web:war exploded 没有配置/路径
- 洛谷P4563 [JXOI2018]守卫(dp)
题意 题目链接 Sol 非常有意思的题目. 我们设\(f[l][r]\)表示区间\([l,r]\)的答案. 显然\(r\)位置一定有一个保镖 同时不难观察到一个性质:拿\([1, n]\)来说,设其观 ...
- 最全最新的opencv版本下载
opencv和opencv_contrib版本都可以到这个github下载 包括编译好的vc14和vc15window版本 还有源码版,可以自行cmake
- Jmeter进阶篇之监控服务器cpu,内存
对于Jmeter,可以不再赘述,因为介绍得也够多了. 那么相信有部分同学已经尝试着自主去学习如果使用Jmeter对服务器进行压力测试了. 但是可能也会发现,Jmeter好像监控不了服务器的cpu已经内 ...