古人学问无遗力,少壮工夫老始成。这篇文章主要讲述2017.1-TOP5 Android开源库相关的知识,希望能为你提供帮助。
Colorful (Github)Colorful简单实用,通过这个开源库可以通过编码的方式来改变应用的主题,不再需要定义不同的style
dependencies {
compile ‘com.github.garretyoder:Colorful:1.1‘
}
public class SampleApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Colorful.init(this);
}
}
你需要改变主题的Activity必须继承CActivity
public class MainActivity extends CActivity
或者在
setContentView()
之前调用下面的方法Colorful.applyTheme(Activity activity);
【2017.1-TOP5 Android开源库】也可以调用
Colorful.applyTheme(Activity activity, Boolean overrideBase);
参数 overrideBase
说明是否要覆盖本身的主题可以在初始化时,设置默认的主题
public class SampleApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Colorful.defaults()
.primaryColor(Colorful.ThemeColor.RED)
.accentColor(Colorful.ThemeColor.BLUE)
.translucent(false)
.dark(true);
Colorful.init(this);
}
}
在代码中可以使用配置随时修改
Colorful.config(this)
.primaryColor(Colorful.ThemeColor.RED)
.accentColor(Colorful.ThemeColor.BLUE)
.translucent(false)
.dark(true)
.apply();
文章图片
Stencil (Github)是时候给你的文字来点花样了
dependencies {
compile ‘com.github.thoughtbot:stencil:1.0‘
}
文章图片
WaveLoading (Github)波浪形动画
compile ‘com.race604.waveloading:library:1.1.1‘
使用
Drawable mWaveDrawable = new WaveDrawable(otherDrawable);
// Use as common drawable
imageView.setImageDrawable(mWaveDrawable);
其他的配置方法
public void setWaveAmplitude(int amplitude), set wave amplitude (in pixels)
public void setWaveLength(int length), set wave length (in pixels)
public void setWaveSpeed(int step), set wave move speed (in pixels)
public void setIndeterminate(boolean indeterminate), like progress bar, if run in indeterminate mode, it‘ll increase water level over and over again, otherwise, you can use boolean setLevel(int level) to set the water level, acting as loading progress.
public void setIndeterminateAnimator(ValueAnimator animator), set you customised animator for wave loading animation in indeterminate mode.
文章图片
BufferTextInputLayout (Github)一个简单的定制化的
TextInputLayout
<
org.buffer.android.buffertextinputlayout.BufferTextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:counterEnabled="true"
app:counterMaxLength="10"
app:counterOverflowTextAppearance="@style/counterOverride"
app:counterTextAppearance="@style/counterText"
app:hintEnabled="true"
app:counterMode="ascending">
<
EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/text_hint" />
<
/org.buffer.android.buffertextinputlayout.BufferTextInputLayout>
文章图片
文章图片
文章图片
PageLoader (Github)定制页面加载的一个开源库
dependencies {
compile ‘id.arieridwan:pageloader:0.0.2‘
}
<
id.arieridwan.lib.PageLoader
android:id="@+id/pageloader"
android:layout_width="match_parent"
android:layout_height="match_parent">
SomeMethod(){
pageLoader.startProgress();
...
onComplete(){
...
}
onNext(){
...
pageLoader.stopProgress();
}
onError(){
...
pageLoader.stopProgressAndFailed();
}
}
文章图片
原文
推荐阅读
- dapper.net 转载
- NineOldAndroids 基本用法
- Android实践 -- 对apk进行系统签名
- 用用匿名函数和闭包加apply强制待定函数调用时使用特定上下文
- android判断网络是否可用
- Android ViewPager使用方法小结
- Linux系统/dev/mapper目录浅谈
- callee(),call(),apply()方法的使用
- Android -- MediaPlayer内部实现简析