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的更多相关文章

  1. android学习笔记九——RatingBar

    RatingBar==>星级评分条 RatingBar和SeekBar十分相似,它们甚至有相同的父类:AbsSeekBar.两者都允许用户通过拖动来改变进度: 两者最大的区别在于RatingBa ...

  2. android学习SeekBar的使用

    SeekBar介绍听歌的时候,我们常常想快进或者快退到某一时间段,听歌的时候我们控制音量大小听歌,SeekBar可以通过滑块的位置来标示数值,而且拖动条允许用户拖动滑块来改变进度条的大小 SeekBa ...

  3. 7.Android之评分条RatingBar和拖动条SeekBar学习

    评分条RatingBar和拖动条SeekBar很常见,今天来学习下. (1)RatingBar评分条 如图: <RelativeLayout xmlns:android="http:/ ...

  4. android基本控件学习-----SeekBar&RatingBar

    SeekBar(拖动条)和RatingBar(星级评分条)讲解 一.SeekBar(拖动条) (1)拖动条简单理解就是可以拖动的线,这个对我们来讲很常见,比如视频播放或者音乐播放我们拖动播放的进度,下 ...

  5. Android的SeekBar和RateBar的使用-android学习之旅(三十二)

    SeekBar简介 SeekBar允许用户拖动,进行调节经常用于音量调节等方面. android:thumb设置drawable对象来表示拖动的物体. setOnSeekBarChangeListen ...

  6. android学习笔记八——SeekBar

    SeekBar——拖动条 拖动条(SeekBar)组件与ProgressBar水平形式的显示进度条类似,不过其最大的区别在于,拖动条可以由用户自己进行手工的调节,例如当用户需要调整播放器音量或者电影的 ...

  7. Android学习之SeekBar(控制wav音频的声音)

    使用SeekBar调节声音 SeekBar控件其实就是一个高级点的进度条,就像我们在听歌,看电影用的播放器上的进度条一样,是可以拖动的,可以改变进度的一个进度条控件! SeekBar常用属性: and ...

  8. 【Android学习】《Android开发视频教程》第一季笔记

    视频地址: http://study.163.com/course/courseMain.htm?courseId=207001 课时5    Activity基础概念 1.Android开发技术结构 ...

  9. Android 中文 API (40) —— RatingBar

    Android 中文 API (40) —— RatingBar 前言 本章内容是 android.widget.RatingBar,译为"评分条",版本为Android 2.2 ...

随机推荐

  1. Android的StrictMode

    转自:http://blog.csdn.net/tonyfield/article/details/8238251 Android 2.3提供一个称为严苛模式(StrictMode)的调试特性,Goo ...

  2. Effective C++_笔记_条款04_确定对象被使用之前已先被初始化

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 读取未初始化的值会导致不确定的行为.在某些平台上,仅仅只是读取为 ...

  3. EasyUI - 要引入的JS文件

    引入的JS: 使用时候修改路径. <script src="../Quote/EasyUI/locale/easyui-lang-zh_CN.js"></scri ...

  4. JQuery - 判断radio是否选中,获取选中值

    代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  5. abap优化工具事务代码: ST05

  6. deflate——过时的网页压缩格式,最好禁用[转]

    在设置GZip时,发现同时有个Deflate压缩设置,一开始并不了解Deflate压缩,于是便在启用GZip的同时,也启用了Deflate压缩.虽然同时设置GZip和Deflate压缩,并不影响网站的 ...

  7. 线段树菜鸟一题+归并排序【求逆序数】POJ2299

    题目链接:http://poj.org/problem?id=2299 归并排序解法链接:http://blog.csdn.net/lyy289065406/article/details/66473 ...

  8. Tomcat 配置WEB虚拟映射 及 配置虚拟主机

    Tomcat  配置WEB虚拟映射 及 配置虚拟主机 配置WEB虚拟映射文件夹有三种方法例如以下: 第一(要重新启动server的): 打开路径 Tomcat 6.0\conf 下的 server.x ...

  9. OleContainer操作Excel以二进制方式读写数据库

    需求源头:OleContainer操作Excel,想把Excel以二进制方式存入数据库,并且以二进制方式读取存入流:Procedure SaveToStream(ADOTable1: TAdoTabl ...

  10. sqlserver 存储过程学习笔记(二) 在项目中的应用<多表分页>

    (1)存储过程建立 USE [NewPlat] GO /****** Object:  StoredProcedure [dbo].[usp_PagingLarge]    Script Date: ...