`

Mars视频笔记——SeekBar,RatingBar基础

阅读更多

 

SeekBar使用

布局声明 <SeekBar>

定义OnSeekBarChangeListener

实现其中onProgressChanged,onStartTrackingTouch,onStopTrackingTouch

注意onProgressChanged中有一个boolean fromUser参数

绑定监听器

 

RatingBar使用

布局声明

<RatingBar> 其中有2个特别属性 android:numStars="5"(星数) android:stepSize="1.0"(每次进多少)

定义OnRatingBarChangeListener

实现onRatingChanged 同样包含fromUser参数

绑定监听器

 

视频里讲得非常简单 但是往往实际操作中 对很多控件的样式有比较高的要求 正好简单用到过一些 作为补充一下

SeekBar为例

最简单的 在布局文件中通过属性定义

 

android:progressDrawable="@drawable/bar_style" //背景

android:thumb="@drawable/bar" //拖动的按钮

android:thumbOffset="0dip" //如果不是0的话 游标则不是从头开始 会比较奇怪 根据需要设置

 

而之后如果仍然不能满足要求 可以考虑通过修改drawable selector等进行进一步的定制

例如定义一个自己的drawable作为背景

<?xml version="1.0" encoding="UTF-8"?>

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:id="@android:id/background">
         <shape>
             <corners android:radius="5dip" />
             <gradient
                     android:startColor="#ff9d9e9d"
                     android:centerColor="#ff5a5d5a"
                     android:centerY="0.75"
                     android:endColor="#ff747674"
                     android:angle="270"
             />
         </shape>
     </item>

     <item android:id="@android:id/secondaryProgress">
         <clip>
             <shape>
                 <corners android:radius="5dip" />
                 <gradient
                         android:startColor="#80ffd300"
                         android:centerColor="#80ffb600"
                         android:centerY="0.75"
                         android:endColor="#a0ffcb00"
                         android:angle="270"
                 />
             </shape>
         </clip>
     </item>

     <item android:id="@android:id/progress">
         <clip>
             <shape>
                 <corners android:radius="5dip" />
                 <gradient
                         android:startColor="#ff0099CC"
                         android:centerColor="#ff3399CC"
                         android:centerY="0.75"
                         android:endColor="#ff6699CC"
                         android:angle="270"
                 />
             </shape>
         </clip>
     </item>

</layer-list>

 也可以直接使用预先准备好的图片

<?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/progress_bg" />
     
        <item android:id="@android:id/secondaryProgress"
              android:drawable="@drawable/second_progress">
        </item>        
        
        <item android:id="@android:id/progress"
              android:drawable="@drawable/first_progress">
            
        </item> 
</layer-list>

 也可以对各种状态通过selector进行定义 同样适用于按钮之类的其他控件

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

 以上图片和xml文件 都放在drawable文件夹下 通过R.drawable.xxx或者在布局中@drawable/xxx.xml等方式引用

 

code来自于http://www.devdiv.com/thread-46488-1-1.html

 

分享到:
评论

相关推荐

    Android——SeekBar动态显示进度

    本篇将深入探讨`Android——SeekBar动态显示进度`的相关知识点。 1. SeekBar的基本使用: SeekBar在Android SDK中位于`android.widget`包下,继承自ProgressBar类。在布局文件中,我们可以使用`&lt;SeekBar&gt;`标签来...

    安卓Andriod源码——seekbar滑动按钮源码.zip

    这个压缩包“安卓Andriod源码——seekbar滑动按钮源码.zip”可能包含了关于如何自定义和实现SeekBar功能的详细源代码。下面我们将深入探讨SeekBar的基本原理、相关API以及如何根据源码进行定制。 SeekBar在Android...

    安卓Android源码——seekbar滑动按钮源码.zip

    本资源“安卓Android源码——seekbar滑动按钮源码.zip”提供了SeekBar自定义实现的源代码,帮助开发者深入理解其工作原理并进行定制化开发。下面我们将详细探讨SeekBar的相关知识点。 首先,SeekBar是Android SDK中...

    android之ProgressBar,SeekBar,RatingBar

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

    Android基础控件——SeekBar的使用、仿淘宝滑动验证

    ### SeekBar的基础使用 #### 1. XML布局中的声明 在XML布局文件中,我们可以通过`&lt;SeekBar&gt;`标签来创建一个SeekBar控件。基本的声明如下: ```xml &lt;SeekBar android:id="@+id/seekBar" android:layout_width=...

    Android源码——seekbar滑动按钮源码.zip

    在"Android源码——seekbar滑动按钮源码.zip"这个压缩包中,可能包含了关于SeekBar实现的详细源代码和一些辅助图片,比如1_120820210748_1.png和1_120820210748_2.png,可能是滑动过程中的状态截图或设计图。...

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

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

    Android中SeekBar和RatingBar用法实例分析

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

    安卓Android源码——竖直SeekBar源码.rar

    "安卓Android源码——竖直SeekBar源码.rar"这个压缩包提供了一个实现垂直Seekbar的解决方案。 首先,我们来理解一下 SeekBar 的基本原理。SeekBar 是 Android SDK 中的一个View组件,继承自ProgressBar。它有两个...

    安卓Android源码——(SeekBar 拖动条).rar

    本资源“安卓Android源码——(SeekBar 拖动条).rar”显然包含了关于如何在Android应用中实现和自定义SeekBar的相关代码示例。 1. SeekBar的基本使用 SeekBars是Android SDK中提供的一种Progress Bar的可交互版本。...

    安卓Android源码——垂直SeekBar(拖动条).rar

    本资源"安卓Android源码——垂直SeekBar(拖动条).rar"提供了一个实现垂直方向SeekBar的解决方案。 首先,我们需要理解 SeekBar 的基本工作原理。SeekBar 是 Android SDK 中的 android.widget.SeekBar 类,它继承...

    安卓Android源码——(SeekBar拖动条).zip

    本资料包“安卓Android源码——(SeekBar拖动条).zip”应该包含了一个关于如何自定义和使用SeekBar的实例代码。 SeekBar的使用主要涉及以下几个核心知识点: 1. **基本使用**:在布局文件中,我们可以使用`&lt;SeekBar...

    安卓Android源码——(SeekBar 拖动条).zip

    这个压缩包“安卓Android源码——(SeekBar 拖动条).zip”很可能包含了一个关于如何自定义和使用SeekBar的示例项目。下面我们将深入探讨 SeekBar 的关键概念、工作原理以及如何在实际应用中进行定制。 1. SeekBar ...

    安卓Android源码——音量seekbar制作.rar

    这个“安卓Android源码——音量seekbar制作.rar”压缩包应该包含了实现这一功能的具体代码示例。 首先,让我们了解一下 SeekBar 的基本使用。在 Android 的布局文件(XML)中,你可以创建一个 SeekBar 组件,并为其...

    安卓Android源码——双向seekbar.zip

    这个“安卓Android源码——双向seekbar.zip”文件很可能是提供了一个实现这种功能的自定义控件源代码。 双向Seekbar在许多应用场景中非常实用,例如调节音量、亮度或者在应用设置中调整各种参数。通过自定义控件,...

    Android源码——自定义seekbar源码.zip

    在这个"Android源码——自定义seekbar源码.zip"压缩包中,包含的资源可能是一份完整的自定义SeekBar实现教程,以及相关的图片示例。 首先,自定义SeekBar通常涉及到以下几个关键步骤: 1. **创建自定义View类**:...

    安卓Android源码——竖直SeekBar源码.zip

    本压缩包文件“安卓Android源码——竖直SeekBar源码.zip”提供了实现竖直SeekBar的源代码,这将帮助开发者了解如何自定义控件以满足特定界面布局的需求。 首先,我们需要理解 SeekBar 的基本工作原理。SeekBar 是一...

Global site tag (gtag.js) - Google Analytics