Skip to content

Commit 68f4dba

Browse files
committed
1、FastConfig部分新增activity返回键功能配置FastQuitConfigEntity方法setQuitConfig
2、FastConfig新增Adapter加载更多脚布局配置方法setDefaultLoadMoreView及对应的FastLoadMoreView-将BaseQuickAdapter抛出全局设置 3、FastConfig删除之前设置adapter加载动画设置方法setAdapterAnimationEnable和setDefaultAdapterAnimation 4、FastConfig新增全局设置Activity横竖屏控制方法setRequestedOrientation对应BasisActivity方法getOrientation 5、FastConfig修改全局设置Activity滑动返回方法setSwipeBackEnable增加Application参数传递 6、删除FastLib自带FastApplication类 7、GlideManager新增设置占位背景颜色方法setPlaceholderColor及设置占位圆角弧度方法setPlaceholderRoundRadius 8、抽离主页Tab Activity及Fragment的代理FastMainTabDelegate 并将tab的部分初始化方法移至该类 9、修改并统一了library里xml文件view的id设置方便区分 10、快速创建应用内WebViewActivity-FastWebActivity增加设置加载进度条颜色方法getProgressColor及进度条高度方法getProgressHeight 11、新增设置多布局接口方法
1 parent 8cf7c82 commit 68f4dba

File tree

67 files changed

+1825
-445
lines changed

Some content is hidden

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

67 files changed

+1825
-445
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ dependencies {
7171
compile 'cn.bingoogolapple:bga-banner:2.1.7@aar'
7272
compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.3'
7373
//设置界面Item库
74-
compile 'com.github.lygttpod:SuperTextView:2.1.4'
74+
compile 'com.github.lygttpod:SuperTextView:2.1.5'
7575
compile 'com.flyco.labelview:FlycoLabelView_Lib:1.0.2@aar'
7676

7777
//以下库library里使用provided只是编译使用时需根据项目选择相应版本
@@ -83,7 +83,7 @@ dependencies {
8383
//webView库 继承FastWebActivity需要,不需要内置WebView可以不compile
8484
compile 'com.just.agentweb:agentweb:2.0.1'
8585
//常用UI控件(TitleBarView、RadiusView、UIAlertView、UIActionSheetView、UIProgressView等),快速标题栏fast_layout_title_bar,继承FastTitleXXX类需要
86-
compile 'com.github.AriesHoo:UIWidget:2.0.2'
86+
compile 'com.github.AriesHoo:UIWidget:2.0.4'
8787
//下拉刷新库注意刷新头SmartRefreshHeader版本要对应
8888
compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.3'
8989
//图片加载

app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
<activity
3131
android:name=".module.SplashActivity"
3232
android:configChanges="locale|layoutDirection|mcc|mnc"
33-
android:screenOrientation="portrait"
3433
android:theme="@style/AppTheme.NotTranslucent">
3534
<intent-filter>
3635
<action android:name="android.intent.action.MAIN"/>
@@ -41,7 +40,6 @@
4140
<activity
4241
android:name=".module.main.MainActivity"
4342
android:configChanges="locale|layoutDirection|mcc|mnc"
44-
android:screenOrientation="portrait"
4543
android:theme="@style/AppTheme.NotTranslucent"/>
4644
<!-- 应用内浏览器 -->
4745
<activity

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

Lines changed: 81 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
11
package com.aries.library.fast.demo;
22

3+
import android.app.Application;
34
import android.content.Context;
5+
import android.graphics.Color;
6+
import android.os.Build;
47
import android.support.annotation.NonNull;
58

6-
import com.aries.library.fast.FastApplication;
79
import com.aries.library.fast.FastConfig;
810
import com.aries.library.fast.demo.helper.RefreshHeaderHelper;
11+
import com.aries.library.fast.entity.FastQuitConfigEntity;
912
import com.aries.library.fast.entity.FastTitleConfigEntity;
13+
import com.aries.library.fast.i.LoadMoreFoot;
1014
import com.aries.library.fast.manager.LoggerManager;
1115
import com.aries.library.fast.retrofit.FastRetrofit;
1216
import com.aries.library.fast.util.SizeUtil;
1317
import com.aries.library.fast.util.ToastUtil;
14-
import com.chad.library.adapter.base.animation.ScaleInAnimation;
18+
import com.aries.library.fast.widget.FastLoadMoreView;
19+
import com.chad.library.adapter.base.BaseQuickAdapter;
20+
import com.chad.library.adapter.base.loadmore.LoadMoreView;
21+
import com.scwang.smartrefresh.header.DeliveryHeader;
1522
import com.scwang.smartrefresh.layout.api.DefaultRefreshHeaderCreater;
1623
import com.scwang.smartrefresh.layout.api.RefreshHeader;
1724
import com.scwang.smartrefresh.layout.api.RefreshLayout;
@@ -20,9 +27,10 @@
2027
/**
2128
* Created: AriesHoo on 2017/7/20 14:11
2229
* Function: 基础配置Application
23-
* Desc: 是否继承根据情况而定--滑动返回设置请查看 {@link FastApplication}
30+
* Desc:
2431
*/
25-
public class App extends FastApplication {
32+
public class App extends Application {
33+
2634
private static Context mContext;
2735
private String TAG = "FastLib";
2836
private static int imageHeight = 0;
@@ -53,34 +61,93 @@ public void onCreate() {
5361
//增加一个Header配置注意FastMultiUrl.BASE_URL_NAME_HEADER是必须后面"test"作为标记
5462
// FastMultiUrl里增加的拦截器才找得到对应的BaseUrl
5563

56-
64+
//主页返回键是否退回桌面--程序后台
65+
boolean isBackTask = false;
5766
//全局配置参数
58-
//推荐先获取library里默认TitleBarView配置再按需修改的模式 FastTitleConfigEntity
67+
//推荐先获取library里默认标题栏TitleBarView配置再按需修改的模式 FastTitleConfigEntity
5968
FastTitleConfigEntity titleConfig = FastConfig.getInstance(mContext).getTitleConfig();
69+
//推荐先获取library里默认主页面点击返回键配置FastQuitConfigEntity配置再按需修改的模式 FastQuitConfigEntity
70+
FastQuitConfigEntity quitConfig = FastConfig.getInstance(mContext).getQuitConfig();
71+
//推荐先获取library里默认主页面Tab参数配置FastTabConfigEntity配置再按需修改的模式 FastTabConfigEntity
6072
FastConfig.getInstance(mContext)
61-
// 其它属性请查看getInstance默认设置
73+
// 设置全局TitleBarView-其它属性请查看getInstance默认设置
6274
.setTitleConfig(titleConfig
6375
//设置TitleBarView 所有TextView颜色
6476
.setTitleTextColor(mContext.getResources().getColor(R.color.colorTitleText))
6577
//设置TitleBarView背景资源
6678
.setTitleBackgroundResource(R.color.colorTitleBackground)
6779
//设置是否状态栏浅色模式(深色状态栏文字及图标)
6880
.setLightStatusBarEnable(true)
81+
.setDividerHeight(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP ? SizeUtil.dp2px(0.5f) : 0)
6982
//设置TitleBarView海拔高度
7083
.setTitleElevation(mContext.getResources().getDimension(R.dimen.dp_elevation)))
84+
//设置Activity 点击返回键提示退出程序或返回桌面相关参数
85+
.setQuitConfig(quitConfig
86+
//设置是否退回桌面否则直接退出程序
87+
.setBackToTaskEnable(isBackTask)
88+
//设置退回桌面是否有一次提示setBackToTaskEnable(true)才有意义
89+
.setBackToTaskDelayEnable(isBackTask)
90+
.setQuitDelay(2000)
91+
.setQuitMessage(isBackTask ? mContext.getString(R.string.fast_back_home) : mContext.getString(R.string.fast_quit_app))
92+
.setSnackBarBackgroundColor(Color.argb(220, 0, 0, 0))
93+
.setSnackBarEnable(false)
94+
.setSnackBarMessageColor(Color.WHITE))
7195
//设置Glide背景色
7296
.setPlaceholderColor(mContext.getResources().getColor(R.color.colorPlaceholder))
7397
//设置Glide圆角背景弧度
7498
.setPlaceholderRoundRadius(mContext.getResources().getDimension(R.dimen.dp_placeholder_radius))
99+
//设置Activity是否支持滑动返回-添加透明主题参考Demo样式;
100+
.setSwipeBackEnable(true, this)
101+
//设置Activity横竖屏模式
102+
// .setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
75103
.setContentViewBackgroundResource(R.color.colorBackground)//设置Activity或Fragment根布局背景资源
76-
.setSwipeBackEnable(true)//设置Activity是否支持滑动返回--注意设置透明主题参考demo
77-
.setAdapterAnimationEnable(true) //是否设置Adapter加载动画
78-
.setDefaultAdapterAnimation(new ScaleInAnimation())//设置全局Adapter加载动画--设置该方法内部同步调用setAdapterAnimationEnable(true)
104+
//设置Adapter加载更多视图--默认设置了FastLoadMoreView
105+
.setDefaultLoadMoreView(new LoadMoreFoot() {
106+
@Override
107+
public LoadMoreView createDefaultLoadMoreView(BaseQuickAdapter adapter) {
108+
if (adapter != null) {
109+
//设置动画是否一直开启
110+
adapter.isFirstOnly(false);
111+
adapter.openLoadAnimation(BaseQuickAdapter.SCALEIN);
112+
}
113+
//方式一:设置FastLoadMoreView--以下为FastConfig里默认配置
114+
return new FastLoadMoreView.Builder()
115+
.setLoadTextColor(mContext.getResources().getColor(R.color.colorLoadMoreText))
116+
.setLoadTextSize(mContext.getResources().getDimensionPixelSize(R.dimen.dp_load_more_text_size))
117+
.setLoadingProgressColor(mContext.getResources().getColor(R.color.colorLoadMoreProgress))
118+
.setLoadingText(mContext.getText(R.string.fast_load_more_loading))
119+
.setLoadFailText(mContext.getText(R.string.fast_load_more_load_failed))
120+
.setLoadEndText(mContext.getText(R.string.fast_load_more_load_end))
121+
// //设置Loading 颜色-5.0以上有效
122+
// .setLoadingProgressColor(Color.MAGENTA)
123+
// //设置Loading drawable--会是Loading颜色失效
124+
// .setLoadingProgressDrawable(mContext.getResources().getDrawable(R.drawable.dialog_loading_wei_bo))
125+
// //设置全局TextView颜色
126+
// .setLoadTextColor(Color.MAGENTA)
127+
// //设置全局TextView文字字号
128+
// .setLoadTextSize(SizeUtil.dp2px(14))
129+
// .setLoadingText("努力加载中...")
130+
// .setLoadingTextColor(Color.GREEN)
131+
// .setLoadingTextSize(SizeUtil.dp2px(14))
132+
// .setLoadEndText("我是有底线的")
133+
// .setLoadEndTextColor(Color.GREEN)
134+
// .setLoadEndTextSize(SizeUtil.dp2px(14))
135+
// .setLoadFailText("哇哦!出错了")
136+
// .setLoadFailTextColor(Color.RED)
137+
// .setLoadFailTextSize(SizeUtil.dp2px(14))
138+
.build();
139+
//方式二:使用adapter自带--其实我默认设置的和这个基本一致只是提供了相应设置方法
140+
// return new SimpleLoadMoreView();
141+
//方式三:参考SimpleLoadMoreView或FastLoadMoreView完全自定义自己的LoadMoreView
142+
// return MyLoadMoreView();
143+
}
144+
})
79145
.setDefaultRefreshHeader(new DefaultRefreshHeaderCreater() {//设置SmartRefreshLayout刷新头-自定加载使用BaseRecyclerViewAdapterHelper
80146
@NonNull
81147
@Override
82148
public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
83149
layout.setEnableHeaderTranslationContent(false);
150+
layout.setRefreshHeader(new DeliveryHeader(mContext));
84151
return RefreshHeaderHelper.getInstance().getRefreshHeader(mContext);
85152
}
86153
});
@@ -96,6 +163,10 @@ public static int getImageHeight() {
96163
return imageHeight;
97164
}
98165

166+
public static boolean isSupportElevation() {
167+
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
168+
}
169+
99170
public static Context getContext() {
100171
return mContext;
101172
}

app/src/main/java/com/aries/library/fast/demo/adapter/SubjectMovieAdapter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44

55
import com.aries.library.fast.demo.R;
66
import com.aries.library.fast.demo.entity.SubjectsEntity;
7+
import com.aries.library.fast.demo.helper.RadiusViewHelper;
78
import com.aries.library.fast.manager.GlideManager;
9+
import com.aries.ui.view.radius.RadiusRelativeLayout;
810
import com.chad.library.adapter.base.BaseQuickAdapter;
911
import com.chad.library.adapter.base.BaseViewHolder;
1012
import com.flyco.labelview.LabelView;
@@ -30,10 +32,10 @@ protected void convert(BaseViewHolder helper, SubjectsEntity item) {
3032
.setText(R.id.tv_yearMovie, "年份:" + item.year)
3133
.setText(R.id.tv_directorMovie, "导演:" + item.getDirectors())
3234
.setText(R.id.tv_castMovie, "主演:" + item.getCasts());
33-
float radius = helper.itemView.getResources().getDimension(R.dimen.dp_radius) / 2;
34-
GlideManager.loadRoundImg(item.images.large, helper.getView(R.id.iv_coverMovie),radius);
35+
GlideManager.loadImg(item.images.large, helper.getView(R.id.iv_coverMovie));
3536
LabelView labelView = helper.getView(R.id.lv_topMovie);
3637
labelView.setText("Top" + (helper.getLayoutPosition() + 1));
3738
labelView.setVisibility(isShowTop ? View.VISIBLE : View.GONE);
39+
RadiusViewHelper.getInstance().setRadiusViewAdapter(((RadiusRelativeLayout) helper.itemView).getDelegate());
3840
}
3941
}

app/src/main/java/com/aries/library/fast/demo/adapter/WidgetAdapter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
import com.aries.library.fast.demo.R;
66
import com.aries.library.fast.demo.entity.WidgetEntity;
7+
import com.aries.library.fast.demo.helper.RadiusViewHelper;
8+
import com.aries.ui.view.radius.RadiusRelativeLayout;
79
import com.chad.library.adapter.base.BaseQuickAdapter;
810
import com.chad.library.adapter.base.BaseViewHolder;
911

@@ -28,5 +30,6 @@ protected void convert(BaseViewHolder helper, WidgetEntity item) {
2830
ViewGroup.MarginLayoutParams margin = (ViewGroup.MarginLayoutParams) helper.itemView.getLayoutParams();
2931
margin.setMargins(marginSize, marginSize, marginSize,
3032
helper.getLayoutPosition() == getItemCount() - 1 ? marginSize : 0);
33+
RadiusViewHelper.getInstance().setRadiusViewAdapter(((RadiusRelativeLayout) helper.itemView).getDelegate());
3134
}
3235
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.aries.library.fast.demo.helper;
2+
3+
import com.aries.library.fast.demo.App;
4+
import com.aries.library.fast.demo.R;
5+
import com.aries.ui.view.radius.RadiusViewDelegate;
6+
7+
/**
8+
* Created: AriesHoo on 2017/11/1 10:00
9+
* E-Mail: AriesHoo@126.com
10+
* Function:
11+
* Description:
12+
*/
13+
public class RadiusViewHelper {
14+
15+
private static volatile RadiusViewHelper sInstance;
16+
17+
private RadiusViewHelper() {
18+
}
19+
20+
public static RadiusViewHelper getInstance() {
21+
if (sInstance == null) {
22+
synchronized (RadiusViewHelper.class) {
23+
if (sInstance == null) {
24+
sInstance = new RadiusViewHelper();
25+
}
26+
}
27+
}
28+
return sInstance;
29+
}
30+
31+
public void setRadiusViewAdapter(RadiusViewDelegate delegate) {
32+
if (!App.isSupportElevation()) {
33+
delegate.setStrokeWidth(App.getContext().getResources().getDimensionPixelSize(R.dimen.dp_line_size));
34+
delegate.setStrokeColor(App.getContext().getResources().getColor(R.color.colorLineGray));
35+
}
36+
}
37+
}

app/src/main/java/com/aries/library/fast/demo/helper/RefreshHeaderHelper.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,20 @@
1212
* Desc:
1313
*/
1414
public class RefreshHeaderHelper {
15-
private static volatile RefreshHeaderHelper instance;
15+
private static volatile RefreshHeaderHelper sInstance;
1616

1717
private RefreshHeaderHelper() {
1818
}
1919

2020
public static RefreshHeaderHelper getInstance() {
21-
if (instance == null) {
21+
if (sInstance == null) {
2222
synchronized (RefreshHeaderHelper.class) {
23-
if (instance == null) {
24-
instance = new RefreshHeaderHelper();
23+
if (sInstance == null) {
24+
sInstance = new RefreshHeaderHelper();
2525
}
2626
}
2727
}
28-
return instance;
28+
return sInstance;
2929
}
3030

3131
public RefreshHeader getRefreshHeader(Context mContext) {

app/src/main/java/com/aries/library/fast/demo/helper/TitleBarHelper.java

Lines changed: 0 additions & 58 deletions
This file was deleted.

app/src/main/java/com/aries/library/fast/demo/module/SplashActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
* Desc:
2424
*/
2525
public class SplashActivity extends FastTitleActivity {
26-
@BindView(R.id.tv_versionSplash)
27-
TextView tvVersion;
26+
27+
@BindView(R.id.tv_versionSplash) TextView tvVersion;
2828

2929
@Override
3030
public void beforeSetContentView() {

0 commit comments

Comments
 (0)