iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android编程实现自定义进度条颜色的方法
  • 136
分享到

Android编程实现自定义进度条颜色的方法

自定义进度条方法Android 2022-06-06 09:06:26 136人浏览 八月长安
摘要

本文实例讲述了Android编程实现自定义进度条颜色的方法。分享给大家供大家参考,具体如下: android 自定义进度条颜色 先看图 基于产品经理各种自定义需求,经过查阅了

本文实例讲述了Android编程实现自定义进度条颜色的方法。分享给大家供大家参考,具体如下:

android 自定义进度条颜色

先看图

基于产品经理各种自定义需求,经过查阅了解,下面是自己对android自定义进度条的学习过程!

这个没法了只能看源码了,还好下载了源码, sources\base\core\res\res\  下应有尽有,修改进度条颜色只能找progress ,因为是改变样式,首先找styles.xml
找到xml后,进去找到


<style name="Widget.ProgressBar"> 
    <item name="android:indeterminateOnly">true</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item> 
    <item name="android:indeterminateBehavior">repeat</item> 
    <item name="android:indeterminateDuration">3500</item> 
    <item name="android:minWidth">48dip</item> 
    <item name="android:maxWidth">48dip</item> 
    <item name="android:minHeight">48dip</item> 
    <item name="android:maxHeight">48dip</item> 
</style>
<style name="Widget.ProgressBar"> 
    <item name="android:indeterminateOnly">true</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_medium_white</item> 
    <item name="android:indeterminateBehavior">repeat</item> 
    <item name="android:indeterminateDuration">3500</item> 
    <item name="android:minWidth">48dip</item> 
    <item name="android:maxWidth">48dip</item> 
    <item name="android:minHeight">48dip</item> 
    <item name="android:maxHeight">48dip</item> 
</style>

这是默认转圈的效果style,但今天我们修改的是水平进度条颜色!
所以找到


<style name="Widget.ProgressBar.Horizontal"> 
    <item name="android:indeterminateOnly">false</item> 
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item> 
    <item name="android:minHeight">20dip</item> 
    <item name="android:maxHeight">20dip</item> 
</style>
<style name="Widget.ProgressBar.Horizontal"> 
    <item name="android:indeterminateOnly">false</item> 
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item> 
    <item name="android:minHeight">20dip</item> 
    <item name="android:maxHeight">20dip</item> 
</style>

你看系统一步一步关联的,扩展性很性,低耦合,所以我们现在只要改变进度条是怎么样画出来的就行了 ,但是负责画进度条的是
<item name="android:progressDrawable">  所以我们可以找到"drawable下的 progress_horizontal 文件,改变他就可以改变进度条颜色


<?xml version="1.0" encoding="utf-8"?> 
<!-- Copyright (C) 2008 The Android Open Source Project 
   Licensed under the Apache License, Version 2.0 (the "License"); 
   you may not use this file except in compliance with the License. 
   You may obtain a copy of the License at 
     Http://www.apache.org/licenses/LICENSE-2.0 
   Unless required by applicable law or agreed to in writing, software 
   distributed under the License is distributed on an "AS IS" BASIS, 
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
   See the License for the specific language Governing permissions and 
   limitations under the License. 
--> 
<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="#ffffd300" 
            android:centerColor="#ffffb600" 
            android:centerY="0.75" 
            android:endColor="#ffffcb00" 
            android:angle="270" 
        /> 
      </shape> 
    </clip> 
  </item> 
</layer-list> 

<?xml version="1.0" encoding="utf-8"?> 
<!-- Copyright (C) 2008 The Android Open Source Project 
   Licensed under the Apache License, Version 2.0 (the "License"); 
   you may not use this file except in compliance with the License. 
   You may obtain a copy of the License at 
     http://www.apache.org/licenses/LICENSE-2.0 
   Unless required by applicable law or agreed to in writing, software 
   distributed under the License is distributed on an "AS IS" BASIS, 
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
   See the License for the specific language governing permissions and 
   limitations under the License. 
--> 
<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="#ffffd300" 
            android:centerColor="#ffffb600" 
            android:centerY="0.75" 
            android:endColor="#ffffcb00" 
            android:angle="270" 
        /> 
      </shape> 
    </clip> 
  </item> 
</layer-list> 

看到没有,这是系统的进度条画出的布局条件


android:startColor="#80ffd300"
android:centerColor="#80ffb600"
android:endColor="#ff747674"

我们只要改变这个色值就能改变他的颜色,主要改变的是<item android:id="@android:id/progress">下的色值就行了
说了这么多,到底怎么做呢, 很简单

1. 在我们的项目下新建一个 style.xml 文件

创建一个style 标签,集成系统默认样式,然后自定义一个新的progressDrawable  文件,随后面在layout 中的progress 中引用这个文件就行


<style name="ProgressBar_Mini" parent="@android:style/Widget.ProgressBar.Horizontal">
    <item name="android:maxHeight">50dip</item>
    <item name="android:minHeight">8dip</item>
    <item name="android:indeterminateOnly">false</item>
    <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item>
    <item name="android:progressDrawable">@drawable/progressbar_mini</item>
</style>

下面是我的  progressbar_mini  文件,改变了下android:endColor="#F5F5F5" android:startColor="#BEBEBE"  的色值


<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
  <item android:id="@android:id/background"> 
     <shape > 
        <corners android:radius="5dip" /> 
        <gradient 
          android:angle="270" 
          android:centerY="0.75" 
          android:endColor="#F5F5F5" 
          android:startColor="#BEBEBE" /> 
      </shape> 
  </item> 
  <item android:id="@android:id/secondaryProgress"> 
    <clip > 
      <shape > 
        <corners android:radius="0dip" /> 
        <gradient 
          android:angle="270" 
          android:centerY="0.75" 
          android:endColor="#165CBC" 
          android:startColor="#85B0E9" /> 
      </shape> 
    </clip> 
  </item> 
  <item android:id="@android:id/progress"> 
    <clip > 
      <shape > 
        <corners android:radius="5dip" /> 
        <gradient 
          android:angle="270" 
          android:centerY="0.75" 
          android:endColor="#165CBC" 
          android:startColor="#85B0E9" /> 
      </shape> 
    </clip> 
  </item> 
</layer-list>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
  <item android:id="@android:id/background"> 
     <shape > 
        <corners android:radius="5dip" /> 
        <gradient 
          android:angle="270" 
          android:centerY="0.75" 
          android:endColor="#F5F5F5" 
          android:startColor="#BEBEBE" /> 
      </shape> 
  </item> 
  <item android:id="@android:id/secondaryProgress"> 
    <clip > 
      <shape > 
        <corners android:radius="0dip" /> 
        <gradient 
          android:angle="270" 
          android:centerY="0.75" 
          android:endColor="#165CBC" 
          android:startColor="#85B0E9" /> 
      </shape> 
    </clip> 
  </item> 
  <item android:id="@android:id/progress"> 
    <clip > 
      <shape > 
        <corners android:radius="5dip" /> 
        <gradient 
          android:angle="270" 
          android:centerY="0.75" 
          android:endColor="#165CBC" 
          android:startColor="#85B0E9" /> 
      </shape> 
    </clip> 
  </item> 
</layer-list>

最后在中引用就可以了


<ProgressBar
    android:id="@+id/progress"
    style="@style/ProgressBar_Mini"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:progress="50" />

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:Android实现标题上显示隐藏进度条效果Android 进度条显示在标题栏的实现方法Android 七种进度条的样式android自定义进度条渐变色View的实例代码Android文件下载进度条的实现代码Android中自定义进度条详解Android三种方式实现ProgressBar自定义圆形进度条Android编程之ProgressBar圆形进度条颜色设置方法Android自定义水平进度条的圆角进度Android ProgressDialog进度条使用详解Android编程实现显示在标题上的进度条功能【附源码下载】


--结束END--

本文标题: Android编程实现自定义进度条颜色的方法

本文链接: https://www.lsjlt.com/news/26236.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android仿字节颜色自定义进度条
    本文实例为大家分享了Android仿字节颜色自定义进度条的具体代码,供大家参考,具体内容如下 效果展示 代码实现 第一步:编写自定义属性 res/values/attrs.xml ...
    99+
    2024-04-02
  • Android中怎么自定义进度条颜色
    今天就跟大家聊聊有关Android中怎么自定义进度条颜色,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。styles.xml找到xml后,进去找到:<style nam...
    99+
    2023-05-30
    android
  • Android实现绚丽的自定义进度条
    目录前言效果图实现步骤1.绘制背景圆形矩形2.绘制进度3.绘制文字4.加入动画 完整代码前言 进度条是在Android项目中很常用的组件之一,如果想要理解它是怎么实现的,首...
    99+
    2024-04-02
  • Android自定义View实现圆形进度条
    本文实例为大家分享了Android自定义View实现圆形进度条的具体代码,供大家参考,具体内容如下 原理非常简单,在自定义View的基础上使用Canvas的drawCircle画两个...
    99+
    2024-04-02
  • Android 实现自定义圆形进度条的三种常用方法
    目录一、通过帧动画实现二、通过自定义颜色实现第三种 使用有进度的UI图片:Android 自定义 进度条,一般有三种方式,最早一般使用UI给的图片使用帧动画,完成,后面两种,一种是使...
    99+
    2023-03-01
    Android 实现自定义圆形进度条 Android自定义view实现圆形进度条 Android圆形进度条的实现
  • Android自定义View实现圆形加载进度条效果的方法
    这篇文章将为大家详细讲解有关Android自定义View实现圆形加载进度条效果的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。View仿华为圆形加载进度条效果图实现思路可以看出该View可分为三个部分...
    99+
    2023-05-30
    android view 进度条
  • Android实现自定义圆形进度条的常用方法有哪些
    今天小编给大家分享一下Android实现自定义圆形进度条的常用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、通...
    99+
    2023-07-05
  • Android自定义View圆形进度条控件的方法
    这篇文章主要讲解了Android自定义View圆形进度条控件的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。继续练习自定义View,这次带来的圆形进度条控件与之前的圆形百分比控件大同小异,这次涉及到了渐变渲...
    99+
    2023-05-31
    android roi %d
  • Android怎么自定义View实现圆形进度条
    本文小编为大家详细介绍“Android怎么自定义View实现圆形进度条”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android怎么自定义View实现圆形进度条”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。原...
    99+
    2023-07-02
  • Android自定义view实现圆环进度条效果
    本文实例为大家分享了Android自定义view实现圆环进度条效果的具体代码,供大家参考,具体内容如下 一、实现效果图 二、核心代码 自定义view的属性 <xml vers...
    99+
    2024-04-02
  • Android自定义view实现圆形进度条效果
    Android中实现进度条有很多种方式,自定义进度条一般是继承progressBar或继承view来实现,本篇中讲解的是第二种方式。 先上效果图: 实现圆形进度条总体来说并不难,还...
    99+
    2024-04-02
  • Android自定义View实现圆形加载进度条
    本文实例为大家分享了Android自定义View实现圆形加载进度条的具体代码,供大家参考,具体内容如下 效果图 话不多说,咱们直接看代码 首先第一种: 1、创建自定义View类 p...
    99+
    2024-04-02
  • Android利用Paint自定义View实现进度条控件方法示例
    前言View的三大流程:测量,布局,绘制,自定义View学的是啥?无非就两种:绘制文字和绘制图像。我们在上一篇文章《Android绘图之Paint的使用》中学习了Paint的基本用法,但是具体的应用我们还没有实践过。从标题中可知,本文是带领...
    99+
    2023-05-30
    paint 自定义view 进度条控件
  • Android中怎么自定义ProgressBar实现酷炫进度条
    要在Android中自定义ProgressBar并实现酷炫的进度条效果,你可以按照以下步骤进行操作:1. 创建一个新的自定义Prog...
    99+
    2023-10-18
    Android
  • qt自定义进度条的方法是什么
    Qt中自定义进度条的方法有多种,以下是其中一种方法: 创建一个自定义的进度条类,继承自QProgressBar类。 class ...
    99+
    2023-10-26
    qt
  • 详解Android如何自定义view实现圆形进度条
    Android中实现进度条有很多种方式,自定义进度条一般是继承progressBar或继承view来实现,本篇中讲解的是第二种方式。 先上效果图: 实现圆形进度条总体来说并不难,还...
    99+
    2024-04-02
  • Android中怎么自定义view实现圆环进度条效果
    这篇文章主要讲解了“Android中怎么自定义view实现圆环进度条效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android中怎么自定义view实现圆环进度条效果”吧!核心代码自定义...
    99+
    2023-06-29
  • OpenCV自定义色条如何实现灰度图上色功能
    这篇文章将为大家详细讲解有关OpenCV自定义色条如何实现灰度图上色功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。场景需求       Qt在进行2D图像显示时...
    99+
    2023-06-25
  • Android编程实现随机生成颜色的方法示例
    本文实例讲述了Android编程实现随机生成颜色的方法。分享给大家供大家参考,具体如下:网上有个ColorPicker开源项目,选择颜色值。而在这里我想实现的是动态修改一个view的背景色。开一个线程,每隔1s修改一次view的背景色。我们...
    99+
    2023-05-30
    android 随机 颜色
  • js如何实现自定义进度条效果
    这篇文章主要介绍js如何实现自定义进度条效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图:代码如下:<!DOCTYPE html> <html&g...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作