Android开源DiscreteSeekbar:动画气泡指示当前滑动值

简介: Android开源DiscreteSeekbar:动画气泡指示当前滑动值Android本身提供的SeekBar用以调控值以及回调传回当前选择的值。


Android开源DiscreteSeekbar:动画气泡指示当前滑动值

Android本身提供的SeekBar用以调控值以及回调传回当前选择的值。但Android原生的SeekBar表现力不太丰富,在github上有一个开源的第三方DiscreteSeekbar,增强了Android原生的Android Seekbar的表现力,DiscreteSeekbar在github上的项目主页是:https://github.com/AnderWeb/discreteSeekBar

当用户的手指拖动DiscreteSeekbar的滑块时候会自动弹出气泡跟随滑动提示当前的值。

使用DiscreteSeekbar首先需要写布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
        android:id="@+id/discrete1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dip"
        app:dsb_max="10"
        app:dsb_min="-5"
        app:dsb_value="-1" />

    <org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
        android:id="@+id/discrete2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dip"
        app:dsb_allowTrackClickToDrag="false"
        app:dsb_indicatorColor="@color/my_floater_color"
        app:dsb_indicatorFormatter="值 %d"
        app:dsb_indicatorTextAppearance="@style/CustomFloaterTextAppearance"
        app:dsb_progressColor="@color/my_progress_color"
        app:dsb_rippleColor="#FF7788FF" />

    <org.adw.library.widgets.discreteseekbar.DiscreteSeekBar
        android:id="@+id/discrete3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dip"
        app:dsb_indicatorFormatter="%04d"
        app:dsb_max="1000"
        app:dsb_min="1" />

</LinearLayout>

DiscreteSeekbar一些常用的属性定义:
app:dsb_max:最大值
app:dsb_min:最小值
app:dsb_value:当前值
app:dsb_indicatorFormatter:定义在弹出的动画气泡中显示的样式,比如,app:dsb_indicatorFormatter="值 %d"表示显示出来的值形如:值 37。

DiscreteSeekbar可以自定制的属性很多,可以在其github的项目主页上查看。DiscreteSeekbar可以像Android 原生的Seekbar一样使用。


Java代码:

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

import org.adw.library.widgets.discreteseekbar.DiscreteSeekBar;
import org.adw.library.widgets.discreteseekbar.DiscreteSeekBar.OnProgressChangeListener;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.activity_main);
        
        DiscreteSeekBar discreteSeekBar1 = (DiscreteSeekBar) findViewById(R.id.discrete1);
        discreteSeekBar1.setNumericTransformer(new DiscreteSeekBar.NumericTransformer() {
            @Override
            public int transform(int value) {
                return value * 100;
            }
        });
        
        DiscreteSeekBar discreteSeekBar2 = (DiscreteSeekBar) findViewById(R.id.discrete2);
        discreteSeekBar2.setOnProgressChangeListener(new OnProgressChangeListener(){

			@Override
			public void onProgressChanged(DiscreteSeekBar seekBar, int value, boolean fromUser) {
				Log.d("当前值", value+"");
			}

			@Override
			public void onStartTrackingTouch(DiscreteSeekBar seekBar) {
				
			}

			@Override
			public void onStopTrackingTouch(DiscreteSeekBar seekBar) {
				
			}});
    }
}


运行结果如图:

相关文章
|
6月前
|
存储 Shell Android开发
基于Android P,自定义Android开机动画的方法
本文详细介绍了基于Android P系统自定义开机动画的步骤,包括动画文件结构、脚本编写、ZIP打包方法以及如何将自定义动画集成到AOSP源码中。
131 2
基于Android P,自定义Android开机动画的方法
|
4月前
|
Android开发 UED
Android 中加载 Gif 动画
【10月更文挑战第20天】加载 Gif 动画是 Android 开发中的一项重要技能。通过使用第三方库或自定义实现,可以方便地在应用中展示生动的 Gif 动画。在实际应用中,需要根据具体情况进行合理选择和优化,以确保用户体验和性能的平衡。可以通过不断的实践和探索,进一步掌握在 Android 中加载 Gif 动画的技巧和方法,为开发高质量的 Android 应用提供支持。
|
6月前
|
监控 Java API
Android经典实战之OkDownload:一个经典强大的文件下载开源库,支持断点续传
本文介绍的 OkDownload 是一个专为 Android 设计的开源下载框架,支持多线程下载、断点续传和任务队列管理等功能,具备可靠性、灵活性和高性能特点。它提供了多种配置选项和监听器,便于开发者集成和扩展。尽管已多年未更新,但依然适用于大多数文件下载需求。
512 1
|
6月前
|
Android开发
Android使用ViewPager做无限轮播,人为滑动时停止
Android使用ViewPager做无限轮播,人为滑动时停止
109 2
|
7月前
|
XML Android开发 数据格式
Android 中如何设置activity的启动动画,让它像dialog一样从底部往上出来
在 Android 中实现 Activity 的对话框式过渡动画:从底部滑入与从顶部滑出。需定义两个 XML 动画文件 `activity_slide_in.xml` 和 `activity_slide_out.xml`,分别控制 Activity 的进入与退出动画。使用 `overridePendingTransition` 方法在启动 (`startActivity`) 或结束 (`finish`) Activity 时应用这些动画。为了使前 Activity 保持静止,可定义 `no_animation.xml` 并在启动新 Activity 时仅设置新 Activity 的进入动画。
222 12
|
8月前
|
Android开发 UED
Android Item平移动画
【6月更文挑战第18天】
137 8
|
7月前
|
XML Android开发 UED
Android动画之共享元素动画简单实践
本文介绍Android共享元素动画, 实现两Activity间平滑过渡特定UI元素。通过设置`transitionName`属性和使用`ActivityOptions.makeSceneTransitionAnimation`启动目标Activity实现动画效果。可自定义过渡动画提升体验。
107 0
|
7月前
|
Android开发
Android仿高德首页三段式滑动
Android仿高德首页三段式滑动
189 0
|
7月前
|
Android开发
android 动画 插值器和估值器
android 动画 插值器和估值器

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 5
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 6
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 7
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 8
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 9
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 10
    Android学习自定义View(四)——继承控件(滑动时ListView的Item出现删除按钮)