SeekBar 实现网络获取图片随thumb滑动,,并位于中间位置

2023-11-21 05:18

本文主要是介绍SeekBar 实现网络获取图片随thumb滑动,,并位于中间位置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 demo介绍

此demo实现了seekbar 滑动效果,图片随thumb 滑动而滑动,位于seekbar中间位置:
效果图如下:

这里写图片描述

二.代码介绍:

1.xml文件:
 <SeekBarandroid:id="@+id/seekbar_progress"android:layout_width="match_parent"android:layout_height="wrap_content"android:focusable="true"android:maxHeight="7dp"android:minHeight="7dp"android:paddingEnd="15dp"android:paddingStart="15dp"android:progressDrawable="@drawable/progress_test        android:thumb="@drawable/progress_theme_bar"android:thumbOffset="15dip" />

seekbar默认两边会有间隙,因为我想覆盖住两边的小红点,所以设置了

android:paddingStart="15dp"
android:paddingEnd="15dp"

如果你不想要两边的空隙,设置:

android:paddingStart="0dp"
android:paddingEnd="0dp"

一般情况下, thumb滑块不能显示完全,一部分被隐藏掉,设置:

android:thumbOffset="0dip"  

我想设置thumb覆盖在两边红点上,则设置了:

android:thumbOffset="15dip"
2.java文件

1.Glide 加载圆形图片

        Glide.with(MainActivity.this).load(imgurl).diskCacheStrategy(DiskCacheStrategy.ALL).error(R.mipmap.ic_launcher).centerCrop().transform(new GlideRoundTransformUtil(MainActivity.this)).into(ivHead);

2.seekbar 监听,设置滑动区间

seekbarProgress.setOnSeekBarChangeListener(new OnSeekBarChangeListenermy());seekbarProgress.setMax(100);seekbarProgress.setProgress(0);

3.测量seekbar 控件的宽度 获取每个百分比的宽度

 ViewTreeObserver vto2 = seekbarProgress.getViewTreeObserver();vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {seekbarProgress.getViewTreeObserver().removeGlobalOnLayoutListener(this);seekbarProgress.getWidth();mseekWidth = seekbarProgress.getWidth();// 获取thumb drawable 占用的空间Drawable drawable = getResources().getDrawable(R.drawable.progress_theme_bar);mDrawableWidth = drawable.getIntrinsicWidth();mDrawableHeight = drawable.getIntrinsicHeight();//每个百分比所占的宽度mMoveStep = ((mseekWidth - mDrawableWidth) / (double) 100);//头像初始位置ivHead.layout(0, 0, mDrawableWidth, mDrawableHeight);}});

4.监听滑动,设置图片位置:

 int layoutLeft = (int) (progress * mMoveStep);//随着滑动 图片位置改变ivHead.layout(layoutLeft, 0, layoutLeft + mDrawableWidth, mDrawableHeight);

下面附下dem地址:
http://download.csdn.net/download/shanshan_1117/10164478

这篇关于SeekBar 实现网络获取图片随thumb滑动,,并位于中间位置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/400063

相关文章

Spring Security自定义身份认证的实现方法

《SpringSecurity自定义身份认证的实现方法》:本文主要介绍SpringSecurity自定义身份认证的实现方法,下面对SpringSecurity的这三种自定义身份认证进行详细讲解,... 目录1.内存身份认证(1)创建配置类(2)验证内存身份认证2.JDBC身份认证(1)数据准备 (2)配置依

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

C#使用StackExchange.Redis实现分布式锁的两种方式介绍

《C#使用StackExchange.Redis实现分布式锁的两种方式介绍》分布式锁在集群的架构中发挥着重要的作用,:本文主要介绍C#使用StackExchange.Redis实现分布式锁的... 目录自定义分布式锁获取锁释放锁自动续期StackExchange.Redis分布式锁获取锁释放锁自动续期分布式

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

python获取网页表格的多种方法汇总

《python获取网页表格的多种方法汇总》我们在网页上看到很多的表格,如果要获取里面的数据或者转化成其他格式,就需要将表格获取下来并进行整理,在Python中,获取网页表格的方法有多种,下面就跟随小编... 目录1. 使用Pandas的read_html2. 使用BeautifulSoup和pandas3.

PyQt6/PySide6中QTableView类的实现

《PyQt6/PySide6中QTableView类的实现》本文主要介绍了PyQt6/PySide6中QTableView类的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录1. 基本概念2. 创建 QTableView 实例3. QTableView 的常用属性和方法

PyQt6/PySide6中QTreeView类的实现

《PyQt6/PySide6中QTreeView类的实现》QTreeView是PyQt6或PySide6库中用于显示分层数据的控件,本文主要介绍了PyQt6/PySide6中QTreeView类的实现... 目录1. 基本概念2. 创建 QTreeView 实例3. QTreeView 的常用属性和方法属性

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils