当前位置: 首页 > news >正文

书店网站建设个人总结惠州网页建站模板

书店网站建设个人总结,惠州网页建站模板,科技作品,上海网站建设专业公司因项目需要,做一个如下图的滑动条,要求如下: 1、滑块跟着进度条改变颜色 2、滑块有白色边和内部颜色组成 大体思路,就是背景需要UI按照需求提供,然后变色时,根据滑动回调动态设置对应的颜色。 直接上代码…

因项目需要,做一个如下图的滑动条,要求如下:

1、滑块跟着进度条改变颜色

2、滑块有白色边和内部颜色组成

大体思路,就是背景需要UI按照需求提供,然后变色时,根据滑动回调动态设置对应的颜色。

直接上代码

xml里面的布局

                <SeekBarandroid:id="@+id/atmosphere_lamp_progress_color_seekbar"style="@style/atmosphere_lamp_progress_color_horizontal"android:layout_width="@dimen/dimen578dp"android:layout_height="@dimen/dimen32dp"android:layout_marginStart="@dimen/dimen4dp"android:layout_marginTop="@dimen/dimen98dp"android:background="@null"android:max="63"android:paddingVertical="@dimen/dimen7dp"android:paddingStart="@dimen/dimen16dp"android:paddingEnd="@dimen/dimen16dp"android:splitTrack="false" />

使用到的style

    <style name="atmosphere_lamp_progress_color_horizontal"><item name="android:indeterminateOnly">false</item><item name="android:thumb">@drawable/atmosphere_thumb_bg</item><item name="android:progressDrawable">@drawable/bg_color_palette</item><!-- 滑动条颜色--><item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item><item name="android:minHeight">@dimen/dimen44dp</item><item name="android:maxHeight">@dimen/dimen44dp</item></style>

如果想让进度条有背景和进度两个滑动条,可以给progressDrawable添加一个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/slider_ambient_lighting_n_white" /><item android:id="@android:id/progress" android:drawable="@drawable/slider_ambient_lighting_f_white" /></layer-list>

滑块分层我是使用了atmosphere_thumb_bg用到了layer-list

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/seekbar_thumb_out"/><itemandroid:width="@dimen/dimen28dp"android:height="@dimen/dimen28dp"android:top="@dimen/dimen2dp"android:left="@dimen/dimen2dp"android:drawable="@drawable/seekbar_thumb_in"/></layer-list>
seekbar_thumb_out如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><!--设置大小--><size android:width="@dimen/dimen32dp"android:height="@dimen/dimen32dp"/><!--设置圆角--><corners android:radius="@dimen/dimen18dp"/><!--设置背景颜色--><solid android:color="@color/white"/><!--    &lt;!&ndash;设置边框&ndash;&gt;-->
<!--    <stroke android:width="2dp" android:color="@color/colorAccent"/>--></shape>
seekbar_thumb_in如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item android:drawable="@drawable/seekbar_thumb_out"/><itemandroid:width="@dimen/dimen28dp"android:height="@dimen/dimen28dp"android:top="@dimen/dimen2dp"android:left="@dimen/dimen2dp"android:drawable="@drawable/seekbar_thumb_in"/></layer-list>

以上都是布局,要想动态显示还是有如下java代码:

给seekbar注册监听

    //SeekBar回调private SeekBar.OnSeekBarChangeListener seekChangeListener = new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {if (fromUser) {switch (seekBar.getId()) {case R.id.atmosphere_lamp_progress_color_seekbar://氛围灯颜色LogUtils.d(TAG, "无极调色 == " + progress);setThumbColor(seekBar, progress + 1, 255);break;default:break;}}}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {switch (seekBar.getId()) {case R.id.atmosphere_lamp_progress_color_seekbar:LogUtils.i(TAG, "氛围灯———颜色 抬手 == " + lampBrightnessValue);break;default:break;}}};

封装的setThumbColor设置动态颜色

    //设置无极变色滑块颜色private void setThumbColor(SeekBar seekBar, int value, int alphaValue) {LayerDrawable layerDrawable = (LayerDrawable) seekBar.getThumb();GradientDrawable gradientDrawable = (GradientDrawable) layerDrawable.getDrawable(1);GradientDrawable gradientDrawable0 = (GradientDrawable) layerDrawable.getDrawable(0);gradientDrawable.setColor(Myapplication.getApplication().getResources().getColor(atmosphereLampHelp.valueToColor(value), null));gradientDrawable.setAlpha(alphaValue);gradientDrawable0.setAlpha(alphaValue);}

里面的颜色值,可以按照自己要求一一对应即可。

http://www.dtcms.com/a/424154.html

相关文章:

  • 西安 网站建设 培训班常州做网站公司有哪些
  • 嵌入式系统应用--TFTLCD 显示实验 3 之内存拓展
  • TEE(可信执行环境)与REE(富执行环境):构建现代智能设备的安全基石与技术全景
  • 网站开发洲际做网站如何接单子
  • 如何查看网站推广做的好云南省玉溪市建设局官方网站
  • ui设计网站建设是什么意思erp系统有哪些功能模块
  • Python将维吾尔语从 ULY 到 UEY 的自动转换
  • Spring AI整合聊天模型DeepSeek
  • 做国外网站做什么内容好无锡市城市建设规划局网站
  • 软装设计网站推荐湖南畅想网站建设
  • 手机电影网站怎么做wordpress邮箱登录
  • 圆桌对话 | “内卷”与“出海”:中国智能网联汽车的破局之路与未来生态构想
  • 网站建设开头wordpress go
  • 门户子网站建设申请微页制作平台网站建设
  • linux拷贝命令
  • 遥感目标检测数据集汇总,覆盖城市问题/工业安全/农业健康/室内场景……
  • LeetCode 刷题【92. 反转链表 II】
  • Spring Boot 异步处理框架核心源码解析及实现原理
  • 三只松鼠网站怎样做p2p网站开发多少钱
  • C++(day4)
  • GESP2025年9月C++三级编程题日历制作题解参考
  • 网站建设与管理实训心得怎么写2023热点新闻事件
  • 做网站很火的APP来个网站吧好人一生平安百度贴吧
  • 花未全开月未圆:布隆过滤器的留白美学
  • 网站安全措施优秀个人网页
  • Flutter完整开发指南 | FlutterDart – The Complete Guide
  • 营销型企业网站系统模板下载建设网站前期准备工作
  • Android车机系统上电获取历史定位信息异常分析
  • 建设银行征信中心官方网站企业网站建设与推广多少钱
  • 如何利用开源库和安全芯片设计fido令牌