android学习---SeekBar和RatingBar
SeekBar 拖动条:拖动条和滚动栏类似,当是拖动条能够拖动滑块改变进度
RatingBar 星级评分条:星级评分条与拖动条相似
SeekBar特有的xml属性
android:thumb 指定一个Arawable对象,作为之定义滑块
RatingBar特有的xml属性
android:isIndicator 是否同意用户改变(true为不同意改动)
android:numStars 共同拥有多少个星级
android:rating 默认的星级
android:stepSize 每次至少改变多少个星级
为了知道改变的进度而做对应的操作,我们须要加入监听
SeekBar 的监听 OnSeekBarChangeListener
RatingBar的监听 OnRatingBarChangeListener
以下我们通过实例来熟悉它们
(1)编写布局文件 activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <ImageView
android:id="@+id/imgView1"
android:layout_width="120dp"
android:layout_height="100dp"
android:src="@drawable/ic_launcher"/>
<SeekBar
android:id="@+id/seekBar"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:thumb="@drawable/ic_launcher"
android:max="255"
android:progress="255"/>
<ImageView
android:id="@+id/imgView2"
android:layout_width="120dp"
android:layout_height="100dp"
android:src="@drawable/img01"/>
<RatingBar
android:id="@+id/reatingBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="255"
android:progress="255"
android:rating="5"
android:stepSize="0.5"
android:numStars="5"/> </LinearLayout>
(2)编写 MainActivity.java
package com.example.bar; import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.RatingBar.OnRatingBarChangeListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener; @TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class MainActivity extends Activity { private ImageView imgViewSB = null; //定义ImageView
private ImageView imgViewRB = null;
private SeekBar seekBar = null; //定义SeekBar
private RatingBar ratingBar = null; //定义RatingBar @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //布局组件
this.imgViewSB = (ImageView) findViewById(R.id.imgView1);
this.imgViewRB = (ImageView) findViewById(R.id.imgView2);
this.seekBar = (SeekBar) findViewById(R.id.seekBar);
this.ratingBar = (RatingBar) findViewById(R.id.reatingBar); //seekBar设置监听,改变图片透明度
this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Override
public void onStopTrackingTouch(SeekBar seekBar) {
Log.i("onStopTrackingTouch", "停止拖动触发的方法"); } @Override
public void onStartTrackingTouch(SeekBar seekBar) {
Log.i("onStartTrackingTouch", "開始拖动触发的方法"); } /**
* seekBar: SeekBar对象
* progress:拖动条的进度
* fromUser:是否用户手动改变
*/
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
imgViewSB.setAlpha(progress); //设置图片的透明度
Log.i("onProgressChanged", "拖动滑块位置发生改变时触发的方法"); }
}); //ratingBar设置监听,改变图片透明度
this.ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() { /**
* ratingBar:RatingBar对象
* rating :星级的大小
* fromUser:是否用户手动改变
*/
@Override
public void onRatingChanged(RatingBar ratingBar, float rating,
boolean fromUser) {
imgViewRB.setAlpha((int)(rating*255/5)); }
}); } @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }
同意之后,效果例如以下:
android学习---SeekBar和RatingBar的更多相关文章
- android学习笔记九——RatingBar
RatingBar==>星级评分条 RatingBar和SeekBar十分相似,它们甚至有相同的父类:AbsSeekBar.两者都允许用户通过拖动来改变进度: 两者最大的区别在于RatingBa ...
- android学习SeekBar的使用
SeekBar介绍听歌的时候,我们常常想快进或者快退到某一时间段,听歌的时候我们控制音量大小听歌,SeekBar可以通过滑块的位置来标示数值,而且拖动条允许用户拖动滑块来改变进度条的大小 SeekBa ...
- 7.Android之评分条RatingBar和拖动条SeekBar学习
评分条RatingBar和拖动条SeekBar很常见,今天来学习下. (1)RatingBar评分条 如图: <RelativeLayout xmlns:android="http:/ ...
- android基本控件学习-----SeekBar&RatingBar
SeekBar(拖动条)和RatingBar(星级评分条)讲解 一.SeekBar(拖动条) (1)拖动条简单理解就是可以拖动的线,这个对我们来讲很常见,比如视频播放或者音乐播放我们拖动播放的进度,下 ...
- Android的SeekBar和RateBar的使用-android学习之旅(三十二)
SeekBar简介 SeekBar允许用户拖动,进行调节经常用于音量调节等方面. android:thumb设置drawable对象来表示拖动的物体. setOnSeekBarChangeListen ...
- android学习笔记八——SeekBar
SeekBar——拖动条 拖动条(SeekBar)组件与ProgressBar水平形式的显示进度条类似,不过其最大的区别在于,拖动条可以由用户自己进行手工的调节,例如当用户需要调整播放器音量或者电影的 ...
- Android学习之SeekBar(控制wav音频的声音)
使用SeekBar调节声音 SeekBar控件其实就是一个高级点的进度条,就像我们在听歌,看电影用的播放器上的进度条一样,是可以拖动的,可以改变进度的一个进度条控件! SeekBar常用属性: and ...
- 【Android学习】《Android开发视频教程》第一季笔记
视频地址: http://study.163.com/course/courseMain.htm?courseId=207001 课时5 Activity基础概念 1.Android开发技术结构 ...
- Android 中文 API (40) —— RatingBar
Android 中文 API (40) —— RatingBar 前言 本章内容是 android.widget.RatingBar,译为"评分条",版本为Android 2.2 ...
随机推荐
- Android手机怎样录制屏幕及转GIF
有时候我们须要录制Android 手机的屏幕,比方写了一个Demo应用,须要公布到博客和微博上. 例如以下是我录制转GIF的效果图 对于Android4.4的上的手机,系统自带了一个命令screenr ...
- JS、JQury - 文本框内容改变事件
例子: 效果: 前端代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="De ...
- javascript属性一览
getElementsByTagName() 方法可返回带有指定标签名的对象的集合. getElementsByName() 方法可返回带有指定名称的对象的集合. getAttribute() 方法返 ...
- C. Bits (Codeforces Round #276 (Div. 2) )
题目大意:给你两个数l,r(l<r),求一个数是大于等于l且小于等于r的数中二进制数的1的个数最多,如果1的个数相同则取最小的那个(翻译渣,请见谅!) 思路:把左区间L化为二进制,再把左区间的二 ...
- OCA读书笔记(3) - 使用DBCA创建Oracle数据库
Objectives: •Create a database by using the Database Configuration Assistant (DBCA) •Generate databa ...
- 学习笔记之TCP/IP协议分层与OSI參考模型
1.协议的分层 ISO在制定标准化OSI之前,对网络体系结构相关的问题进行了充分的讨论, 终于提出了作为通信协议设计指标的OSI參考模型.这一模型将通信协议中必要 的功能分成了7层.通过这些 ...
- struts 2吊牌s:if 、s:iterator注意
疏忽,也没有相应的总结.实际上JSTL标签Struts2标签混淆.导致一些上述问题的细节.今天我给从下一个总结,同 后不要再犯这种错误. 总喜欢在s:if标签里面使用$,导致各种数据读不出来. str ...
- c语言实现动态指针数组Dynamic arrays
c语言实现动态数组.其它c的数据结构实现,hashTable參考点击打开链接 treeStruct參考点击打开链接 基本原理:事先准备好一个固定长度的数组. 假设长度不够的时候.realloc一块区域 ...
- poj 1743 男人八题之后缀数组求最长不可重叠最长重复子串
Musical Theme Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14874 Accepted: 5118 De ...
- CF 514C(hash)
传送门:Watto and Mechanism 题意:输入a个字符串和b个待检测字符串.问待检测字符串是否可以由某个已知字符串改变且只改变一个字母得到. 分析:字符串hash,枚举待测字符串每一位进行 ...