SeekBar 实现网络获取图片随thumb滑动,,并位于中间位置
来源:互联网 发布:网络命令ping 编辑:程序博客网 时间:2024/05/21 06:54
一 demo介绍
此demo实现了seekbar 滑动效果,图片随thumb 滑动而滑动,位于seekbar中间位置:
效果图如下:
二.代码介绍:
1.xml文件:
<SeekBar android: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() { @Override public 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
阅读全文
0 0
- SeekBar 实现网络获取图片随thumb滑动,,并位于中间位置
- android Seekbar改变thumb图片的位置
- SeekBar动态更新Thumb图片
- 让图片位于正中间
- 用viewpager实现网络图片的加载并滑动
- Android Seekbar透明滑动球thumb 不透明的解决办法
- seekBar实现滑动解锁
- 实现HorizontalScrollView中的标题滑动时始终处于中间位置
- 获取View位置实现滑动动画
- android seekbar滑动条实现平滑滑动并回滚至指定值的整数倍
- 自定义ScrollView,实现ScrollView滑动监听并记录滑动位置。
- seekbar thumb现实问题
- Seekbar thumb center
- 网络加载图片并实现本地缓存与获取
- 获取网络图片并显示
- 网络获取图片并缓存
- Android开发实现网络加载多张图片并可以滑动
- 删除链表中一个位于中间位置的节点
- JavaSE基本数据类型
- 记录一下,Linux 3/4/5下宝塔面板忘记密码怎么处理
- MSP与PSP
- Java获取系统CPU、内存、硬盘等配置
- java基础杂谈(一)
- SeekBar 实现网络获取图片随thumb滑动,,并位于中间位置
- 商品详情页面,点击按钮将对应的商品加入购物车
- Apache运行PHP原理
- 一个简单的倒计时控件的实现
- 态度决定高度
- Retrofit简易封装
- LR11:Web Tours登不上
- 使用git将项目上传到github(最简单方法)
- spring boot 使用属性加载顺序