原文:http://blog.sina.com.cn/s/blog_74c22b210100thpv.html
1. 在res/values/colors.xml中定义ProgressBar要用的图片颜色
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="transparent_background">#00000000</drawable>
<drawable name="white">#ffffff</drawable>
<color name="solid_red">#f00</color>
<color name="solid_blue">#0000ff</color>
2. res/drawable/progress_bar_layer.xml中自定义ProgressBar进度条的颜色以及背景
<?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/transparent_background" />
<item android:id="@android:id/progress">
<gradient android:startColor="#FFFFD980" android:centerColor="#FFFF8C00" android:endColor="#FF6611" android:angle="270" android:centerY="0.75" />
android:angle 0 is left to right, 90 is bottom to top, 180 is right to left, 270 is top to bottom
android:centerY 自上而下(androidL:angle="270")从3/4处开始颜色渐变(默认在1/2处)
3.在res/layout/main.xml定义ProgressBar在应用中的布局表示
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content">
<ProgressBar android:layout_width="fill_parent"
android:layout_height="148dp" android:id="@+id/my_profile_tracker"
android:background="@null"
android:progressDrawable="@drawable/progress_bar_layer"
android:paddingLeft="23dp" android:paddingRight="23dp"
android:paddingTop="107dp" android:paddingBottom="27dp"
style="?android:attr/progressBarStyleHorizontal"
android:indeterminateOnly="false" android:max="60" />
<ImageView android:id="@+id/my_profile_tracker_mask"
android:layout_width="fill_parent"
android:layout_height="148dp"
android:src="@drawable/profile_screen_tracker" />
style="?android:attr/progressBarStyleHorizontal" 定义ProgressBar为水平类型
android:progressDrawable="@drawable/progress_bar_layer" Drawable used for the progress mode.
4. 至此关于ProgressBar在xml中的定义全部完成了,你需要做的就是在java文件中引用他们
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ProgressBar mTracker = (ProgressBar) findViewById(R.id.my_profile_tracker);
mTracker.setProgress(20);
}
对于上面的<clip> 元素,
如果设置mTracker.setProgress(0);那么你将不会看到ProgressBar
如果设置mTracker.setProgress(20);那么你将可以看到ProgressBar
官方文档对于<clip>元素的解释
The default level is 0, which is fully clipped so the image is not visible. When the level is 10,000, the image is not clipped and completely visible.
正如你所看到的,当level为0,全部裁剪不可见,即为以下样式(setProgress(0))
setProgress(20)则才会出现ProgressBar.
分享到:
相关推荐
本项目"多种风格的Android自定义progressbar控件"提供了多种不同设计风格的进度条,让开发者可以根据自己的应用主题和需求选择合适的样式。 首先,我们来看看自定义ProgressBar的基本概念。在Android中,可以通过...
默认情况下,Android的Progress Bar具有特定的颜色和形状,但有时为了满足UI设计需求或者增强用户体验,我们需要对其进行自定义,比如改变其颜色和圆角。本文将详细探讨如何在Android中实现自定义Progress Bar的颜色...
总之,Android自定义Progressbar是一项重要的UI定制技术,通过结合ProgressDrawable、动画和自定义代码,我们可以创造出各种独特的进度指示器,满足不同设计需求,提升用户体验。在实际项目中,根据应用场景选择合适...
Android自定义Progressbar控件汇总集合-Android-进度Android自定义Progressbar控件汇总SeekBarWithIntervalshttps://github.com/RameshBhupathi/SeekBarWithIntervals带有标记间隔的 Seekbar 类似 Olx FilterView ...
android自定义ProgressBar(仿淘宝)的加载效果
本文将深入探讨如何在Android中自定义ProgressBar,以满足各种设计需求和提升用户界面的美观度。 首先,我们了解下Android原生的ProgressBar。原生的ProgressBar有两种类型:Horizontal(水平)和Circular(圆形)...
这个新的类将是我们自定义ProgressBar的基础。在MyProgressBar.java文件中,我们将重写onDraw()方法来绘制我们自己的进度条和文字。 ```java public class MyProgressBar extends ProgressBar { // 初始化相关的...
本篇文章将深入探讨如何在Android中自定义ProgressBar,以及重写View的相关知识。 首先,自定义ProgressBar的基本步骤包括创建一个新的类,该类继承自Android的ProgressBar或者 INDeterminate ProgressBar 类。这将...
首先,自定义ProgressBar通常涉及到以下几个步骤: 1. **创建自定义View类**: 创建一个新的Java类,继承自ProgressBar。在这个类中,我们需要重写onDraw()方法,这是绘制视图的核心方法。在这里,我们可以利用...
自定义ProgressBar能帮助开发者在应用中创造出更吸引人的交互效果,提高用户界面的美观度和用户体验。 总之,Android的自定义圆形ProgressBar是一个展示创意和提升应用品质的好方法。通过掌握自定义View的基本原理...
详情见博客:http://blog.csdn.net/zhangxiaofan_/article/details/51566455
本教程将深入探讨如何在Android中自定义ProgressBar,让其满足特定的设计需求,提升应用的用户体验。 首先,我们要了解Android系统自带的ProgressBar类型,包括Horizontal(水平)和Circular(圆形)两种。默认样式...
自定义ProgressBar主要是通过重写默认的绘制逻辑,以及可能的动画效果来实现。在这个案例中,我们将使用逐帧动画来实现loading效果。逐帧动画是一种常见的动画形式,它通过连续播放一系列静态图片来形成动态效果。在...
"Android自定义带箭头的Progressbar"是一个很好的实例,它展示如何根据需求定制原生的ProgressBar,使其具有更丰富的视觉表现力。这个项目的核心是创建一个自定义的View,通过重写相关方法来绘制带有箭头的进度条,...
总之,Android自定义控件的开发需要对Android的图形绘制、事件处理和视图生命周期有深入理解。通过自定义控件,开发者可以根据具体需求打造出独特且功能丰富的界面元素,为用户带来更佳的使用体验。在实际开发中,应...
android自定义ProgressView长条渐变色的进度条,实现渐变色的效果,不适用一张图片实现! 具体思路:http://blog.csdn.net/springsky_/article/details/17954765