android 自定义Style初探---ProgressBar

系统自带的ProgressBar太丑了,所以我决定自定义一个Style。

原来的Style

<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android">    <item android:id="@android:id/background">        <shape  >            <corners  android:radius="5dp">

            </corners>            <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="5dp"/>                <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="5dp"></corners>         <gradient            android:startColor="#ffffd300"            android:centerColor="#ffffb600"            android:centerY="0.75"            android:endColor="#ffffcb00"            android:angle="270"            />    </shape></clip>

    </item>

</layer-list>

自定义之后的:

progressbarcolor.xml
<?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/bg_progress"        >

    </item>    <item android:id="@android:id/secondaryProgress">        <clip            >            <shape>                <corners android:radius="5dp"/>                <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" android:drawable="@drawable/draw_progress">

    </item>

</layer-list>
<style name="my_pb_style" parent="@android:style/Widget.ProgressBar.Horizontal">
        <item name="android:progressDrawable">@drawable/progressbarcolor</item>
    </style>

其中,还需要两张图片:

重点在于研究系统的Style如何实现,然后自己模仿实现,在于这种学习的方法.

时间: 2024-10-08 12:23:57

android 自定义Style初探---ProgressBar的相关文章

android自定义style

抽取样式,在values中定义一个xml文件,在文件中, <resource xmlns:> 根节点 <style name>设置一个样式名字 <item name>value</Item>设置样式中每一项的名字和值 <?xml version="1.0" encoding="utf-8"?> <resources> <style name="text_title_style&q

Android自定义横向的ProgressBar

其实很简单,上代码! 在res下创建drawable文件夹,新建文件drawable/progressbar_color.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >     <!-- 背景  gradient是渐变,corners定

android 自定义progressbar 样式

在res下创建drawable文件夹,新建文件drawable/progressbar_color.xml <layer-list xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- 背景 gradient是

Android 自定义的圆形变化ProgressBar

Android 自带的ProgressBar中大多比较丑,所以自己定制了一个ProgressBar,可以实现动态的播放,先看截图 然后上代码,^_^原谅我不会说别的. 先看主程序布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:custom=&qu

Android自定义进度条-带文本(文字进度)的水平进度条(ProgressBar)

/** * 带文本提示的进度条 */ public class TextProgressBar extends ProgressBar { private String text; private Paint mPaint; public TextProgressBar(Context context) { super(context); initText(); } public TextProgressBar(Context context, AttributeSet attrs, int d

Android自定义组件系列【13】——Android自定义对话框如此简单

在我们的日常项目中很多地方会用到对话框,但是Android系统为我们提供的对话框样子和我们精心设计的界面很不协调,在这种情况下我们想很自由的定义对话框,或者有的时候我们的对话框是一个图片,没有标题和按钮,例如这样的一系列需求,这一篇文章我们来给大家介绍一下如何像使用Activity一样来自定义我们的对话框. 一般自定义对话框有下面几种办法: 1.重写Dialog来实现. 2.获取Dialog的Window对象实现. 3.使用WindowManager来实现. 4.使用DialogTheme来实现

深入理解Android 自定义attr Style styleable以及其应用

相信每一位从事Android开发的猿都遇到过需要自己去自定义View的需求,如果想通过xml指定一些我们自己需要的参数,就需要自己声明一个styleable,并在里面自己定义一些attr属性,这个过程相信大家都比较了解.当然,属性其实也不一定需要和View配合使用,比如我想通过一个Theme中的style对一个库进行一些简单参数的配置,这应该怎么做呢?我今天在封装一个库时在这个地方浪费了较多时间,最后没办法,到处搜搜资料,记录在这里吧,相信对大家都有帮助. attr和styleable的关系 首

Android自定义文本的进度条

工作中要求实现如下图中进度条(进度条上面是带比例数的文本,进度条颜色与比例数对应),写下自己的实现过程. 整体思路:Android中ProgressBar控件不支持自定义文本,所以需要写自定义progressBar. 1.progressBar上要自定义文本,需要重写onDraw()方法: 2.为实现进度是红色,底色是灰色效果,需要自定义progressBar样式 代码实现: 1.自定义的ProgressBar实现代码: 1 package com.example.myprogressbar;

Android自定义进度条样式

最近在做一个widget,上面需要一个progressbar,产品经理和设计师给出来的东西是要实现一个圆角的progress和自定义的颜色,研究一小下,分享出来给大家哦. 测试于:Android4.0+ 操作步骤: 1.创建你的layout文件引用progressbar如下,标红处引用你自定的样式: <ProgressBar android:id="@+id/progressDownload" style="?android:attr/progressBarStyleH