前言
SmoothProgressBar是Github上的一个开源框架, 牛人所著, 只作翻译;
Github项目主页:[SmoothProgressBar](https://github.com/castorflex/SmoothProgressBar)
[有没有炫酷的Fell啊](https://github.com/castorflex/SmoothProgressBar/blob/master/screenshots/SPB_sample.gif)
开发环境:Android studio;Eclipse用户请直接进入项目首页,克隆源码。
详细配置使用说明
(1)Maven 库添加
作者已经将该库放在Maven Centra中了, 所以Android Studio 用户可直接进行如下配置:
在“项目(project)”的build.gradle中添加如下代码:
repositories {
maven {
url "https://oss.sonatype.org/content/repositories/snapshots/"
}
}
在app文件夹的build.gradle文件中添加如下代码:
dependencies {
compile 'com.github.castorflex.smoothprogressbar:library:1.0.1-SNAPSHOT@aar'
}
(2)加入一些作者提供的Style吧
在res/values/styles.xml文件中添加样式:
@style/SmoothProgressBar
12dp
4
0.7
spb_interpolator_linear
@array/gplus_colors
8dp
2
1.7
2
3.4
spb_interpolator_acceleratedecelerate
true
true
@array/gplus_colors
true
false
0dp
3
2.0
@android:anim/decelerate_interpolator
@array/gplus_colors
true
4dp
4
1
@anim/pocket_interpolator
@array/pocket_bar_colors
true
false
(3)添加缺少的颜色资源
在res/values/color.xml添加如下代码:
@color/holo_blue_dark
@color/holo_yellow_dark
@color/holo_green_dark
@color/holo_purple_dark
@color/holo_red_dark
@color/gplus_color_1
@color/gplus_color_2
@color/gplus_color_3
@color/gplus_color_4
@color/pocket_color_1
@color/pocket_color_1
@color/pocket_color_1
@color/pocket_color_1
@color/pocket_color_2
@color/pocket_color_2
@color/pocket_color_2
@color/pocket_color_2
@color/pocket_color_3
@color/pocket_color_3
@color/pocket_color_3
@color/pocket_color_3
@color/pocket_color_4
@color/pocket_color_4
@color/pocket_color_4
@color/pocket_color_4
@color/pocket_color_1
@color/pocket_color_2
@color/pocket_color_3
@color/pocket_color_4
#85edb9
#34bdb7
#ee4458
#fcb74d
#3e802f
#f4b400
#427fed
#b23424
#0099cc
#ff8800
#669900
#9933cc
#cc0000
(4)添加缺少的strings
在res/values/strings.xml添加如下代码:
Accelerate
Linear
AccelerateDecelerate
Decelerate
(5)还有一个动画资源:anim
在res/anim文件夹下新建一个名为:pocket_interpolator.xml动画资源文件,并添加如下代码:
这样所需要使用的资源都添加完毕了
SmoothProgressBar调用
提供两种方式:<1> 在布局文件中添加直接使用;<2> 代码调用
<1> 在布局文件中添加直接使用:
在xml文件中直接添加布局代码使用, 添加代码如下:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
app:spb_sections_count="4"
app:spb_color="#FF0000"
app:spb_speed="2.0"
app:spb_stroke_width="4dp"
app:spb_stroke_separator_length="4dp"
app:spb_reversed="false"
app:spb_mirror_mode="false"
app:spb_progressiveStart_activated="true"
app:spb_progressiveStart_speed="1.5"
app:spb_progressiveStop_speed="3.4" />
<2> 使用java代码控制实现,灵活(推荐)
先在布局文件中定义个id:
android:id="@+id/smooth_progress_bar"
android:layout_width="match_parent"
android:layout_height="8dp"
style="@style/GNowProgressBar"
android:indeterminate="true" />
在相应的Activity中实现绑定:
// 变量声明
private SmoothProgressBar progressBar;
// 在void onCreate(Bundle savedInstanceState)绑定id
progressBar = (SmoothProgressBar)findViewById(R.id.smooth_progress_bar);
// 由于已经定义加载布局时,进度条就会自动运行(同方法一)
// 使用progressiveStop()在合适的地方停止进度条运行
// 如网络通信结束,登陆成功,webview页面加载完毕等时刻停止
progressBar.progressiveStop();
———————————————END——————————————