Skip to content

Commit 2513f98

Browse files
committed
1、修改Android 低版本弹出toast因判断前后台原因闪退BUG
1 parent f6ebd58 commit 2513f98

File tree

200 files changed

+5497
-789
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

200 files changed

+5497
-789
lines changed

README.md

Lines changed: 85 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
# UIWidget
1+
# FastLib
22
--------------------------
3-
### 一、简介:
3+
## 简介:
44

5-
一个集成[UIAlertView](https://github.com/AriesHoo/UIAlertView)[UIActionSheetView](https://github.com/AriesHoo/UIActionSheetView)[UIProgressView](https://github.com/AriesHoo/UIProgressView)[RadiusView](https://github.com/AriesHoo/RadiusView)[TitleBarView](https://github.com/AriesHoo/TitleBarView)
6-
等项目常用UI库
5+
一个Android项目级快速开发框架,节约大部分写常用功能时间以实现更多项目业务功能及体验上的优化.在[RapidLib](https://github.com/MarnoDev/RapidLib)基础上加以大的修改与扩展.有问题欢迎issue。
76

8-
[[Sample PC Download]](https://github.com/AriesHoo/UIWidget/blob/master/apk/sample.apk)
7+
[[Sample PC Download]](https://github.com/AriesHoo/FastLib/blob/master/apk/sample.apk)
98

10-
[[Sample Mobile Download]](http://fir.im/r84v)
9+
[[Sample Mobile Download]](http://fir.im/hju8)
1110

12-
![](https://github.com/AriesHoo/UIWidget/blob/master/apk/qr.png)
11+
![](https://github.com/AriesHoo/FastLib/blob/master/apk/qr.png)
1312

14-
**1.1 Gradle集成**
13+
**Gradle集成**
1514

1615
```
1716
allprojects {
@@ -24,32 +23,90 @@ allprojects {
2423

2524
```
2625
dependencies {
27-
    //compile 'com.github.AriesHoo:UIWidget:1.6.0'
28-
compile 'com.github.AriesHoo:UIWidget:${LATEST_VERSION}'
26+
    //compile 'com.github.AriesHoo:FastLib:1.0.0'
27+
compile 'com.github.AriesHoo:FastLib:${LATEST_VERSION}'
2928
}
3029
```
31-
### 二、录屏预览
3230

33-
![](https://github.com/AriesHoo/UIWidget/blob/master/screenshot/widget.gif)
31+
**包含第三方库**
3432

35-
[UIAlertView](https://github.com/AriesHoo/UIAlertView)
36-
37-
![](https://github.com/AriesHoo/UIWidget/blob/master/screenshot/alert.gif)
38-
39-
[UIActionSheetView](https://github.com/AriesHoo/UIActionSheetView)
40-
41-
![](https://github.com/AriesHoo/UIWidget/blob/master/screenshot/action.gif)
42-
43-
[UIProgressView](https://github.com/AriesHoo/UIProgressView)
44-
45-
![](https://github.com/AriesHoo/UIWidget/blob/master/screenshot/loading.gif)
46-
47-
[RadiusView](https://github.com/AriesHoo/RadiusView)
33+
```
34+
dependencies {
35+
   def supportVersion = "25.3.1"
36+
compile 'com.android.support:appcompat-v7:'.concat(supportVersion)
37+
compile 'com.android.support:recyclerview-v7:'.concat(supportVersion)
38+
//图片加载
39+
compile 'com.github.bumptech.glide:glide:4.0.0'
40+
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0'
41+
//日志打印
42+
compile 'com.orhanobut:logger:2.1.1'
43+
//注解
44+
compile 'com.jakewharton:butterknife:8.8.0'
45+
//retrofit+rxjava
46+
compile 'io.reactivex:rxjava:1.1.6'
47+
compile 'io.reactivex:rxandroid:1.2.1'
48+
compile 'com.squareup.retrofit2:retrofit:2.1.0'
49+
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
50+
compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
51+
compile 'com.google.code.gson:gson:2.8.1'
52+
//万能适配器
53+
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.27'
54+
//滑动返回Activity
55+
compile 'cn.bingoogolapple:bga-swipebacklayout:1.1.0@aar'
56+
//快速Tab库
57+
compile 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar'
58+
//多状态视图切换
59+
compile 'com.github.MarnonDev:EasyStatusView:v1.0.3'
60+
//常用UI控件(TitleBarView、RadiusView等)
61+
compile 'com.github.AriesHoo:UIWidget:1.6.0'
62+
//下拉刷新库
63+
compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.3'
64+
//页面事件交互
65+
compile 'org.simple:androideventbus:1.0.5.1'
66+
//webView库
67+
compile 'com.just.agentweb:agentweb:1.2.6'
68+
}
69+
```
4870

49-
![](https://github.com/AriesHoo/UIWidget/blob/master/screenshot/radius.gif)
71+
## 实现功能
72+
73+
* [RxActivity](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/basis/RxActivity.java)[RxFragment](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/basis/RxFragment.java)分别为FastLib所有Activity/Fragment基类:Retrofit请求与Activity、Fragment生命周期绑定,需要手动调用bindLifeCycle()方法
74+
* Basis开头是通用基类:[BasisActivity](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/basis/BasisActivity.java)[BasisFragment](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/basis/BasisFragment.java)
75+
* Fast开头的是快速创建常见功能页面:[FastMainActivity](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/module/activity/FastMainActivity.java)-快速创建包含tab主Activity;[FastTitleActivity](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/module/activity/FastTitleActivity.java)-快速创建包含TitleBarView的Activity;[FastRefreshLoadActivity](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/module/activity/FastRefreshLoadActivity.java)-快速创建包含TitleBarView及下拉刷新、多状态切换的Activity;[FastWebActivity](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/module/activity/FastWebActivity.java)快速创建应用内webView的Activity;[FastTitleFragment](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/module/fragment/FastTitleFragment.java)-快速创建包含TitleBarView的Fragment;[FastRefreshLoadFragment](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/module/fragment/FastRefreshLoadFragment.java)-快速实现下拉刷新的Fragment;[FastTitleRefreshLoadFragment](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/module/fragment/FastTitleRefreshLoadFragment.java)-快速实现包含TitleBarView及下拉刷新与多状态切换Fragment
76+
* [FastApplication](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/FastApplication.java):快速配置ToastUtil及滑动关闭Activity的Application可以根据需要继承(需要滑动关闭Activity需要参考初始化)
77+
* Manager类是三方库二次封装:目前有[GlideManager](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/manager/GlideManager.java)-图片加载库Glide库封装;[LoggerManager](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/manager/LoggerManager.java)-日志打印logger库封装;[RxJavaManager](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/manager/RxJavaManager.java)-RxJava实现timer;[TabLayoutManager](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/manager/TabLayoutManager.java)-FlycoTabLayout+ViewPager使用:包括CommonTabLayout、SlidingTabLayout、SegmentTabLayout在FragmentActivity与Fragment中使用的封装
78+
* Util类为常用工具:[ActivityStackUtil](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/util/ActivityStackUtil.java)-应用Activity栈管理类;[AppUtil](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/util/AppUtil.java)-部分应用常用功能类;[SizeUtil](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/util/SizeUtil.java)-尺寸转换类;[SPUtil](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/util/SPUtil.java) -SharedPreferences使用类;[TimeFormatUtil](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/util/TimeFormatUtil.java)-时间转换类;[ToastUtil](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/util/ToastUtil.java)-单例模式toast工具类:可配置是否后台显示
79+
* Delegate为代理类:[FastTitleDelegate](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/delegate/FastTitleDelegate.java)-快速实现包含TitleBarView的Fragment/Activity;[FastRefreshLoadDelegate](https://github.com/AriesHoo/FastLib/blob/master/library/src/main/java/com/aries/library/fast/delegate/FastRefreshLoadDelegate.java)-快速实现下拉刷新、上拉加载更多、多状态切换的Fragment/Activity
80+
* 创建支持手势返回的Activity:继承BasisActivity一行代码实现-参考[SwipeBackActivity](https://github.com/AriesHoo/FastLib/blob/master/app/src/main/java/com/aries/library/fast/demo/module/sample/SwipeBackActivity.java)
81+
* 沉浸式状态栏:继承FastTitleActivity/FastRefreshLoadActivity/FastWebActivity/FastTitleFragment/FastTitleRefreshLoadFragment 无需额外代码即可实现
82+
* 状态栏白底黑字模式:同沉浸式状态栏功能继承,只需重写父类实现接口isLightStatusBarEnable即可实现;MIUI V6、Flyme 4.0、Android 6.0以上
83+
* 快速创建圆角、全圆、按下、不可点击状态的EditText、FrameLayout、LinearLayout、RelativeLayout、TextView减少shape文件创建设置:参考库[UIWidget](https://github.com/AriesHoo/UIWidget)或简化版库[RadiusView](https://github.com/AriesHoo/RadiusView)
84+
* Activity/Fragment 页面事件交互(支持设置TAG)
85+
* 万能适配器(ListView、GridView,RecyclerView):可添加多个Header和Footer
86+
* Fragment懒加载,Activity可见时加载
87+
* 下拉刷新、上拉加载:支持多种效果的刷新头及自定义刷新头
88+
89+
## 注意事项
90+
91+
## 录屏预览
92+
93+
![](https://github.com/AriesHoo/FastLib/blob/master/screenshot/00.gif)
94+
95+
## 鸣谢
96+
97+
* [ButterKnife-注解](https://github.com/JakeWharton/butterknife)
98+
* [Glide-图片加载](https://github.com/bumptech/glide)
99+
* [Logger-日志打印](https://github.com/orhanobut/logger)
100+
* [BaseRecyclerViewAdapterHelper-万能适配器](https://github.com/CymChad/BaseRecyclerViewAdapterHelper)
101+
* [FlycoTabLayout-快速Tab](https://github.com/H07000223/FlycoTabLayout)
102+
* [SmartRefreshLayout-智能刷新](https://github.com/scwang90/SmartRefreshLayout)
103+
* [BGABanner-Android-Banner图](https://github.com/bingoogolapple/BGABanner-Android)
104+
* [BGASwipeBackLayout-滑动返回Activity](https://github.com/bingoogolapple/BGASwipeBackLayout-Android)
105+
* [EasyStatusView-多状态视图切换](https://github.com/MarnoDev/EasyStatusView)
106+
* [UIWidget-常用UI库](https://github.com/AriesHoo/UIWidget)
107+
* [AndroidEventBus-页面事件交互](https://github.com/hehonghui/AndroidEventBus)
108+
* [AgentWeb-原生WebView快速集成库](https://github.com/Justson/AgentWeb)
50109

51-
[TitleBarView](https://github.com/AriesHoo/TitleBarView)
52110

53-
![](https://github.com/AriesHoo/UIWidget/blob/master/screenshot/title.gif)
54111

55112

apk/qr.png

-25 Bytes
Loading

apk/sample.apk

1.18 MB
Binary file not shown.

app/build.gradle

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
apply plugin: 'com.android.application'
22
apply plugin: 'com.neenbedankt.android-apt'
3+
apply plugin: 'me.tatarka.retrolambda'
34

45
android {
56
def ext = rootProject.ext
@@ -9,17 +10,38 @@ android {
910
applicationId "com.aries.library.fast.demo"
1011
minSdkVersion ext.minSdkVersion
1112
targetSdkVersion ext.targetSdkVersion
12-
versionCode 1
13+
versionCode 2
1314
versionName "1.0.1"
1415
multiDexEnabled true
1516
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
1617
}
18+
signingConfigs {
19+
release {
20+
storeFile file('../fast.jks')
21+
storePassword 'fast123#@!'
22+
keyAlias 'fast'
23+
keyPassword 'fast123#@!'
24+
}
25+
}
1726
buildTypes {
27+
debug {
28+
debuggable true
29+
minifyEnabled false
30+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
31+
signingConfig signingConfigs.release
32+
}
1833
release {
34+
debuggable false
1935
minifyEnabled false
2036
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
37+
signingConfig signingConfigs.release
2138
}
2239
}
40+
41+
compileOptions {
42+
sourceCompatibility JavaVersion.VERSION_1_8
43+
targetCompatibility JavaVersion.VERSION_1_8
44+
}
2345
}
2446

2547
dependencies {
@@ -28,4 +50,10 @@ dependencies {
2850
compile 'com.android.support:appcompat-v7:'.concat(supportVersion)
2951
compile 'com.android.support:recyclerview-v7:'.concat(supportVersion)
3052
compile project(':library')
53+
apt 'com.jakewharton:butterknife-compiler:8.7.0'
54+
compile 'cn.bingoogolapple:bga-banner:2.1.7@aar'
55+
compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.3'
56+
//设置界面Item库
57+
compile 'com.github.lygttpod:SuperTextView:2.1.0'
58+
compile 'com.just.agentweb:agentweb:1.2.6'
3159
}

app/src/main/AndroidManifest.xml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,37 @@
66
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
77
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
88
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
9-
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
10-
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
9+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
10+
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
1111

1212
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
1313
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
1414

1515
<application
16-
android:allowBackup="true"
1716
android:name=".App"
18-
android:icon="@drawable/ic_logo"
17+
android:allowBackup="true"
18+
android:icon="@drawable/ic_launcher"
1919
android:label="@string/app_name"
2020
android:supportsRtl="true"
21+
android:persistent="true"
2122
android:theme="@style/AppTheme">
22-
<activity android:name=".MainActivity">
23+
<activity
24+
android:name=".module.main.SplashActivity"
25+
android:theme="@style/AppTheme.NotTranslucent">
2326
<intent-filter>
2427
<action android:name="android.intent.action.MAIN"/>
2528

2629
<category android:name="android.intent.category.LAUNCHER"/>
2730
</intent-filter>
2831
</activity>
32+
<activity
33+
android:name=".module.main.MainActivity"
34+
android:theme="@style/AppTheme.NotTranslucent"/>
35+
<activity android:name=".module.main.WebViewActivity"/>
36+
<activity android:name=".module.sample.SwipeBackActivity"/>
37+
<activity android:name=".module.sample.ali.ALiPayMainActivity"/>
38+
<activity android:name=".module.sample.news.NewsMainActivity"/>
39+
<activity android:name=".module.main.ThirdLibraryActivity"/>
2940
</application>
3041

3142
</manifest>

app/src/main/java/com/aries/library/fast/demo/App.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,24 @@
33
import android.content.Context;
44

55
import com.aries.library.fast.FastApplication;
6+
import com.aries.library.fast.manager.LoggerManager;
7+
import com.aries.library.fast.util.ToastUtil;
8+
69

710
/**
8-
* Created: AriesHoo on 2017/6/29 17:00
11+
* Created: AriesHoo on 2017/7/20 14:11
912
* Function:
1013
* Desc:
1114
*/
1215
public class App extends FastApplication {
13-
1416
private static Context mContext;
17+
private String TAG = "FastLib";
1518

1619
@Override
1720
public void onCreate() {
1821
super.onCreate();
19-
mContext = this;
22+
mContext = getApplicationContext();
23+
LoggerManager.init(TAG, BuildConfig.DEBUG);
24+
ToastUtil.init(mContext,true);
2025
}
21-
2226
}

app/src/main/java/com/aries/library/fast/demo/MainActivity.java

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.aries.library.fast.demo.adapter;
2+
3+
import com.aries.library.fast.demo.R;
4+
import com.aries.library.fast.demo.entity.WidgetEntity;
5+
import com.chad.library.adapter.base.BaseQuickAdapter;
6+
import com.chad.library.adapter.base.BaseViewHolder;
7+
8+
import java.util.ArrayList;
9+
10+
/**
11+
* Created: AriesHoo on 2017/7/14 9:55
12+
* Function:
13+
* Desc:
14+
*/
15+
public class WidgetAdapter extends BaseQuickAdapter<WidgetEntity, BaseViewHolder> {
16+
17+
public WidgetAdapter() {
18+
super(R.layout.item_widget, new ArrayList<>());
19+
}
20+
21+
@Override
22+
protected void convert(BaseViewHolder helper, WidgetEntity item) {
23+
helper.setText(R.id.tv_titleWidget, item.title);
24+
helper.setText(R.id.tv_contentWidget, item.content);
25+
}
26+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.aries.library.fast.demo.base;
2+
3+
/**
4+
* Created: AriesHoo on 2017/6/29 16:39
5+
* Function:
6+
* Desc:
7+
*/
8+
public class BaseEntity<T> {
9+
public int code;
10+
public String msg;
11+
public T data;
12+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.aries.library.fast.demo.base;
2+
3+
import com.aries.library.fast.demo.R;
4+
import com.aries.library.fast.demo.helper.TitleBarHelper;
5+
import com.aries.library.fast.module.activity.FastRefreshLoadActivity;
6+
import com.aries.ui.view.title.TitleBarView;
7+
import com.scwang.smartrefresh.layout.api.RefreshHeader;
8+
import com.scwang.smartrefresh.layout.header.BezierRadarHeader;
9+
10+
/**
11+
* Created: AriesHoo on 2017/7/27 14:05
12+
* Function:
13+
* Desc:
14+
*/
15+
public abstract class BaseRefreshLoadActivity<T> extends FastRefreshLoadActivity<T> {
16+
@Override
17+
public boolean isLightStatusBarEnable() {
18+
return true;
19+
}
20+
21+
@Override
22+
public void beforeSetTitleBar(TitleBarView titleBar) {
23+
super.beforeSetTitleBar(titleBar);
24+
mContentView.setBackgroundResource(R.color.colorBackground);
25+
TitleBarHelper.getInstance().setTitleBarView(titleBar, mContext);
26+
}
27+
28+
@Override
29+
public RefreshHeader getRefreshHeader() {
30+
return new BezierRadarHeader(mContext);
31+
}
32+
33+
@Override
34+
public void beforeInitView() {
35+
super.beforeInitView();
36+
if (mRefreshLayout != null) {
37+
mRefreshLayout.setEnableHeaderTranslationContent(false);
38+
mRefreshLayout.setPrimaryColorsId(R.color.colorTextBlackLight);
39+
}
40+
}
41+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package com.aries.library.fast.demo.base;
2+
3+
import com.aries.library.fast.demo.R;
4+
import com.aries.library.fast.demo.helper.TitleBarHelper;
5+
import com.aries.library.fast.module.activity.FastTitleActivity;
6+
import com.aries.ui.view.title.TitleBarView;
7+
8+
/**
9+
* Created: AriesHoo on 2017/7/27 9:04
10+
* Function: 包含TitleBarView 的Activity
11+
* Desc:
12+
*/
13+
public abstract class BaseTitleActivity extends FastTitleActivity {
14+
@Override
15+
public boolean isLightStatusBarEnable() {
16+
return true;
17+
}
18+
19+
@Override
20+
public void beforeInitView() {
21+
super.beforeInitView();
22+
}
23+
24+
@Override
25+
public void beforeSetTitleBar(TitleBarView titleBar) {
26+
super.beforeSetTitleBar(titleBar);
27+
mContentView.setBackgroundResource(R.color.colorBackground);
28+
TitleBarHelper.getInstance().setTitleBarView(titleBar, mContext);
29+
}
30+
31+
}

0 commit comments

Comments
 (0)