`
Bauble
  • 浏览: 67485 次
  • 性别: Icon_minigender_1
  • 来自: Mercury
社区版块
存档分类
最新评论

Android29_SeekBar和RatingBar

阅读更多

 

一、使用SeekBar步骤:

       SeekBar一般用于进度可调的地方,比如在做音乐播放器的时候,调节音量以及调节歌曲播放进度的时候就是用的SeekBar

       1.在布局文件中声明SeekBar

 

<SeekBar android:id="@+id/seekbar"
    	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content" 
    />

        2.定义一个OnSeekBarChangeListener

 

class SeekBarListener implements OnSeekBarChangeListener{
		//当进度条发生变化时,就会调用该方法
		public void onProgressChanged(SeekBar seekBar, int progress,
				boolean fromUser) {
			System.out.println(progress);
		}
		//当用户开始滑动滑块时调用该方法
		public void onStartTrackingTouch(SeekBar seekBar) {
			System.out.println("seekbar start:"+seekBar.getProgress());
		}
		//当用户结束对滑块的滑动时调用该方法
		public void onStopTrackingTouch(SeekBar seekBar) {
			System.out.println("seekbar end:"+seekBar.getProgress());
		}
}

 运行结果:

输出结果:

 

当然这样的进度条如果作为播放器的控件就太难看了,可以定义自己的SeekBar样式,可以尽情的去想象扩展。



 其中seekbar_style.xml是进度条的样式,thumb.xml是进度条滑块的样式。

main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView
	android:id="@+id/progress"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"/>
<TextView  
	android:id="@+id/tracking"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" />
<SeekBar android:id="@+id/seek"
    style="?android:attr/progressBarStyleHorizontal"
    android:progressDrawable="@layout/seekbar_style"     
    android:thumb="@layout/thumb"
    android:layout_width="fill_parent"
    android:layout_height="10px"
    android:paddingLeft="10px"
    android:paddingRight="10px"
    android:thumbOffset="0dip"/>
</LinearLayout>

 seekbar_style.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:paddingTop="3px" 
         android:paddingBottom="3px">     
      <shape>     
         <corners android:radius="10dip" />     
         <gradient    
             android:startColor="#ffffffff"  
             android:centerColor="#ff000000"     
             android:endColor="#ff808A87"    
             android:centerY="0.45"     
             android:angle="270"/>     
      </shape>     
   </item>     
   <item android:id="@android:id/progress"
            android:paddingTop="3px" 
         android:paddingBottom="3px" >     
       <clip>     
          <shape>     
              <corners android:radius="10dip" />     
              <gradient    
                  android:startColor="#ffffffff"  
                  android:centerColor="#ffFFFF00"     
                  android:endColor="#ffAABD00"    
                  android:centerY="0.45"     
                  android:angle="270"/>     
          </shape>     
       </clip>     
   </item>     
 </layer-list>  

 thumb.xml

 

<?xml version="1.0" encoding="UTF-8"?>     
<selector xmlns:android="http://schemas.android.com/apk/res/android">           
    <!-- 按下状态 -->    
    <item       
        android:state_pressed="true"       
        android:drawable="@drawable/greypoint" />      
    <!-- 普通无焦点状态 -->    
    <item  
        android:state_focused="false"       
        android:state_pressed="false"     
        android:drawable="@drawable/greypoint" />   
</selector> 

 SeekBarActivity.java

package com.android.activity;

import android.app.Activity;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;

public class SeekBarActivity extends Activity {
	
	//声明SeekBar 和 TextView对象
	SeekBar mSeekBar;
	TextView mProgressText;
	TextView mTrackingText;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
    	//取得SeekBar对象
		mSeekBar = (SeekBar) findViewById(R.id.seek);
		mProgressText = (TextView) findViewById(R.id.progress);
		mTrackingText = (TextView) findViewById(R.id.tracking);
		
		mSeekBar.setOnSeekBarChangeListener(new SeekBarListener());
    }
    
    class SeekBarListener implements OnSeekBarChangeListener{

    	/**
    	 * 在拖动中--即值在改变
    	 */
		public void onProgressChanged(SeekBar seekBar, int progress,
				boolean fromUser) {
			//progress为当前数值的大小
			mProgressText.setText("当前值:" + progress);
		}
		/**
    	 * 在拖动中会调用此方法
    	 */
		public void onStartTrackingTouch(SeekBar seekBar) {
			mTrackingText.setText("SeekBar正在调节");
		}
		/**
    	 * 停止拖动
    	 */
		public void onStopTrackingTouch(SeekBar seekBar) {
			mTrackingText.setText("SeekBar停止调节");
		}
    	
    }
}
 

 运行结果:


 

二、RatingBar

       1.在布局文件当中声明RatingBar

              android:nubStars="5":指明共多少颗星星

              android:stepSize="1.0":指明每次前进多少颗星星

 

<RatingBar 
   	android:id="@+id/ratingbar"
    	android:layout_width="wrap_content" 
    	android:layout_height="wrap_content" 
    	android:numStars="5"
    	android:stepSize="1.0"
    />

        2.定义一个OnRatingBarChangeListener

 

class RatingBarListener implements OnRatingBarChangeListener{
	public void onRatingChanged(RatingBar ratingBar, float rating,
			boolean fromUser) {
		System.out.println(rating);
	}
}

 运行结果:


 输出结果:

 

  • 大小: 31.9 KB
  • 大小: 14.8 KB
  • 大小: 35.5 KB
  • 大小: 12.9 KB
  • 大小: 12.8 KB
  • 大小: 19.7 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    android之ProgressBar,SeekBar,RatingBar

    在Android开发中,ProgressBar、SeekBar和RatingBar是三种常见的用户界面组件,它们为用户提供了一种交互方式,展示了数据加载进度、可调节值或评分选择。接下来,我们将详细探讨这三个控件的功能、用法以及在实际...

    Android中SeekBar和RatingBar用法实例分析

    在Android开发中,SeekBar和RatingBar是两种常见的UI组件,它们用于提供用户交互和反馈。下面我们将详细探讨这两个组件的功能、定义以及如何在实际应用中使用它们。 ### SeekBar SeekBar是一种可拖动的进度条,常...

    Android中ProgressBar、SeekBar、RatingBar、ImageSwitcher实现相册滑动示例代码

    在Android开发中,ProgressBar、SeekBar、RatingBar以及ImageSwitcher是四个非常重要的UI组件,它们在构建用户界面时起着至关重要的作用。本示例代码将详细讲解如何使用这些组件来实现一个相册滑动的功能。 1. **...

    Android 学习(15)RatingBar

    RatingBar在Android中属于一个特殊的SeekBar,它提供了一个直观的方式来让用户给出他们对某个事物的评价,例如电影评分或产品满意度。RatingBar显示为一系列连续的星形图标,用户可以点击选择填充的星星数目,从而...

    Android下ProgressBar和旗下两个子控件的使用

    本篇文章将深入探讨Android中的ProgressBar及其两个主要子类SeekBar和RatingBar的使用方法。 首先,我们来了解ProgressBar的基本用法。ProgressBar分为两种模式:indeterminate(不确定)和determinate(确定)。在...

    android 基础控件大全 二维码 6.0权限获取应有尽有

    1 基础控件的使用(CheckBox,RadioButton,RadioGroup,ToggleButton,CheckedTextView,ProgressBar,SeekBar,RatingBar,时间控件,EditText,WebView,ListView,RecyclerView,ExpandableListView,Spinner); 2 二维码 ...

    android 自定义RatingBar源码实例

    在Android开发中,RatingBar是一种常用的UI组件,它允许用户以星星的形式给出评分。系统默认的RatingBar样式可能无法满足所有设计需求,因此开发者经常需要对其进行自定义以达到更美观的效果。本文将深入探讨如何...

    Android的三种进度条的demo

    在Android开发中,进度条(ProgressBar)、SeekBar和RatingBar是三种常见的UI组件,它们用于提供用户界面中的反馈和交互。让我们深入探讨这三种组件的详细使用方法。 首先,`ProgressBar`是一个显示进度或加载状态...

    拖动条 SeekBarAndRatingBar

    在Android开发中,`SeekBar`和`RatingBar`是两种常用的UI组件,它们都属于滑动选择器,但各自有着不同的应用场景。`SeekBar`通常用于调整数值或进度,而`RatingBar`则常用于给内容打星评价。下面将详细阐述这两个...

    Android控件之RatingBar自定义星级评分样式

    RatingBar继承自SeekBar和ProgressBar,提供了一种直观的用户交互方式来设置评分。控件有两种预设样式: 1. **ratingBarStyleSmall**:小型风格,适用于需要节省空间的情况。 2. **ratingBarStyleIndicator**:大...

    Android UI控件RatingBar实现自定义星星评分效果

    9. Android中SeekBar和RatingBar用法实例分析 10. Android开发之自定义星星评分控件RatingBar用法示例 通过以上介绍和示例,你应该对如何在Android应用中实现自定义星星评分效果有了深入的理解,可以根据项目需求...

    Android基础控件集合在一个Avtivity中

    Button、TextView、EditText、RadioButton、CheckButton、ImageView、进度条、SeekBar和RatingBar集合在一个Activity,,使用Log输出各个控件的当前值

    Android ClipDrawable 实现进度条效果

    在Android开发中,为了创建各种视觉效果,开发者经常会利用到Drawable资源。`ClipDrawable`是Android SDK提供的一种Drawable类型,它允许我们根据指定的级别值来裁剪其他Drawable,从而实现如进度条、滑块等效果。在...

    android开发之控件二

    本文将深入探讨几个常用的Android控件:AutoCompleteTextView、ProgressBar、RatingBar、SeekBar以及Spinner。 **AutoCompleteTextView** 是一个扩展了EditText的控件,它能够提供自动补全功能。当用户在输入框中...

    Android中常用的控件Demo

    本示例“Android中常用的控件Demo”主要聚焦于四个关键控件:垂直和水平自定义SeekBar、Animation、ExpandableListView以及RatingBar,旨在帮助初学者掌握这些常用组件的用法。 首先,SeekBar是一种滑动条控件,...

    Android星级评分条控件RatingBar使用详解

    时不时的就有要实现星星的评分效果,比如某宝,某团,相信大家也都见过,当然了我们可以自己去画,也可以用美工给切的图去实现,其实在Android原生的控件中就可以来实现这样的效果,它就是RatingBar。 来,我们先看...

    ProgressBar案例.7z

    ProgressBar是Android下的进度条,也是为数不多的直接继承于View类的控件,直接子类有AbsSeekBar和ContentLoadingProgressBar,其中AbsSeekBar的子类有SeekBar和RatingBar。

    Android常用控件Demo

    本示例“Android常用控件Demo”聚焦于几个关键的Android控件,包括ExpandableListView、水平SeekBar、垂直SeekBar以及RatingBar,并展示了如何利用Animation进行动态效果的实现。这些控件对于任何Android开发者来说...

    应用源码音量seekbar制作.zip

    除了 SeekBar,Android 还提供了多种可交互的视图组件,如 RatingBar、ToggleButton 等,它们同样可以通过自定义来满足各种需求。同时,掌握好这些基础组件的使用,有助于提升 Android 开发技能,为创建更复杂的用户...

Global site tag (gtag.js) - Google Analytics