Skip to content

Commit ac02c07

Browse files
committed
解决上拉加载更多滑动冲突问题
博主界面添加高斯模糊 修复关注粉丝列表接口
1 parent 4ccd11b commit ac02c07

28 files changed

+352
-175
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@
99
.externalNativeBuild
1010
/doc/site
1111
/app/*.apk
12+
/app/release
13+
app/release/

app/build.gradle

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ android {
4545
applicationId "com.rae.cnblogs"
4646
minSdkVersion rootProject.ext.minSdkVersion
4747
targetSdkVersion rootProject.ext.targetSdkVersion
48-
versionCode 6
49-
versionName "1.1.3"
48+
versionCode 5
49+
versionName "1.1.2"
5050
multiDexEnabled true
5151
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
5252
buildConfigField 'String', 'BUGLY_APP_ID', '"' + buglyAppId + '"'
@@ -159,6 +159,9 @@ dependencies {
159159
implementation 'com.kyleduo.switchbutton:library:1.4.6'
160160
implementation 'com.google.code.gson:gson:2.8.0'
161161
implementation 'com.meituan.android.walle:library:1.1.6'
162+
implementation 'jp.wasabeef:glide-transformations:3.0.1'
163+
// If you want to use the GPU Filters
164+
implementation 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
162165
}
163166

164167
// 热更新

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,9 @@
189189
</intent-filter>
190190

191191
</activity>
192+
<activity
193+
android:name=".activity.AboutMeActivity"
194+
android:label="@string/about_me"/>
192195

193196
<!--文件提供者-->
194197
<provider

app/src/main/java/com/rae/cnblogs/AppRoute.java

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import android.support.annotation.NonNull;
88
import android.text.TextUtils;
99

10+
import com.rae.cnblogs.activity.AboutMeActivity;
1011
import com.rae.cnblogs.activity.BlogContentActivity;
1112
import com.rae.cnblogs.activity.BloggerActivity;
1213
import com.rae.cnblogs.activity.CategoryActivity;
@@ -176,32 +177,32 @@ public static void jumpToWebLogin(Activity context) {
176177
* 粉丝
177178
*
178179
* @param bloggerName 博主昵称
179-
* @param userId 博主ID
180+
* @param blogApp 博主ID
180181
*/
181-
public static void jumpToFans(Context context, String bloggerName, String userId) {
182-
jumpToFriends(context, ACTIVITY_FRIENDS_TYPE_FANS, bloggerName, userId);
182+
public static void jumpToFans(Context context, String bloggerName, String blogApp) {
183+
jumpToFriends(context, ACTIVITY_FRIENDS_TYPE_FANS, bloggerName, blogApp);
183184
}
184185

185186
/**
186187
* 关注
187188
*
188189
* @param bloggerName 博主昵称
189-
* @param userId 博主ID
190+
* @param blogApp 博主ID
190191
*/
191-
public static void jumpToFollow(Context context, String bloggerName, String userId) {
192-
jumpToFriends(context, ACTIVITY_FRIENDS_TYPE_FOLLOW, bloggerName, userId);
192+
public static void jumpToFollow(Context context, String bloggerName, String blogApp) {
193+
jumpToFriends(context, ACTIVITY_FRIENDS_TYPE_FOLLOW, bloggerName, blogApp);
193194
}
194195

195196
/**
196197
* 跳转到朋友界面
197198
*
198199
* @param type 来源类型,参考该类{@link #ACTIVITY_FRIENDS_TYPE_FANS}
199200
* @param bloggerName 博主昵称
200-
* @param userId 博主ID
201+
* @param blogApp 博主ID
201202
*/
202-
private static void jumpToFriends(Context context, int type, String bloggerName, String userId) {
203+
private static void jumpToFriends(Context context, int type, String bloggerName, String blogApp) {
203204
Intent intent = new Intent(context, FriendsActivity.class);
204-
intent.putExtra("userId", userId);
205+
intent.putExtra("blogApp", blogApp);
205206
intent.putExtra("bloggerName", bloggerName);
206207
intent.putExtra("fromType", type);
207208
startActivity(context, intent);
@@ -435,4 +436,11 @@ public static void jumpToImageSelection(Activity context, ArrayList<String> sele
435436
intent.putStringArrayListExtra("selectedImages", selectedImages);
436437
startActivityForResult(context, intent, REQ_IMAGE_SELECTION);
437438
}
439+
440+
/**
441+
* 关于我们
442+
*/
443+
public static void jumpToAboutMe(Context context) {
444+
startActivity(context, AboutMeActivity.class);
445+
}
438446
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.rae.cnblogs.activity;
2+
3+
import android.os.Bundle;
4+
import android.support.annotation.Nullable;
5+
6+
import com.rae.cnblogs.R;
7+
8+
/**
9+
* 关于我们
10+
* Created by ChenRui on 2018/2/9 0009 17:21.
11+
*/
12+
public class AboutMeActivity extends BaseActivity {
13+
@Override
14+
protected void onCreate(@Nullable Bundle savedInstanceState) {
15+
super.onCreate(savedInstanceState);
16+
setContentView(R.layout.activity_about_me);
17+
showHomeAsUp();
18+
}
19+
}

app/src/main/java/com/rae/cnblogs/activity/BloggerActivity.java

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@
55
import android.support.annotation.Nullable;
66
import android.support.design.widget.AppBarLayout;
77
import android.support.design.widget.DesignTabLayout;
8-
import android.support.v4.content.ContextCompat;
98
import android.support.v4.view.ViewPager;
109
import android.support.v7.widget.Toolbar;
1110
import android.text.TextUtils;
12-
import android.util.Log;
1311
import android.view.View;
12+
import android.view.animation.Animation;
13+
import android.view.animation.AnimationUtils;
1414
import android.widget.Button;
1515
import android.widget.ImageView;
1616
import android.widget.TextView;
1717

1818
import com.bumptech.glide.load.DataSource;
1919
import com.bumptech.glide.load.engine.GlideException;
2020
import com.bumptech.glide.request.RequestListener;
21+
import com.bumptech.glide.request.RequestOptions;
2122
import com.bumptech.glide.request.target.Target;
2223
import com.jcodecraeer.xrecyclerview.AppBarStateChangeListener;
2324
import com.rae.cnblogs.AppMobclickAgent;
2425
import com.rae.cnblogs.AppRoute;
2526
import com.rae.cnblogs.AppUI;
2627
import com.rae.cnblogs.GlideApp;
2728
import com.rae.cnblogs.R;
28-
import com.rae.cnblogs.ThemeCompat;
2929
import com.rae.cnblogs.fragment.BlogListFragment;
3030
import com.rae.cnblogs.message.UserInfoEvent;
3131
import com.rae.cnblogs.model.FeedListFragment;
@@ -44,6 +44,7 @@
4444
import butterknife.BindView;
4545
import butterknife.ButterKnife;
4646
import butterknife.OnClick;
47+
import jp.wasabeef.glide.transformations.BlurTransformation;
4748

4849
/**
4950
* blogger info
@@ -99,8 +100,8 @@ public class BloggerActivity extends SwipeBackBaseActivity implements IBloggerPr
99100
@BindView(R.id.pb_blogger_follow)
100101
View mFollowProgressBar;
101102

102-
@BindView(R.id.img_alpha)
103-
ImageView mAlphaImageView;
103+
// @BindView(R.id.img_alpha)
104+
// ImageView mAlphaImageView;
104105

105106
// @BindView(R.id.layout_blogger)
106107
// BloggerLayout mBloggerLayout;
@@ -144,21 +145,28 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
144145
mTabLayout.addOnTabSelectedListener(this);
145146

146147
mAppBarLayout.addOnOffsetChangedListener(new AppBarStateChangeListener() {
148+
final Animation mAnimation = AnimationUtils.loadAnimation(getContext(), android.R.anim.fade_in);
149+
147150
@Override
148151
public void onStateChanged(AppBarLayout appBarLayout, State state) {
149-
Log.i("rae", "状态改变:" + state);
152+
// Log.i("rae", "状态改变:" + state);
153+
mAnimation.setDuration(800);
154+
150155
if (state == State.COLLAPSED) {
151-
ThemeCompat.refreshStatusColor(getContext(), true);
152-
setHomeAsUpIndicator(R.drawable.ic_back);
153-
mFollowView.setBackgroundResource(R.drawable.bg_btn_follow_drak);
154-
mFollowView.setTextColor(ContextCompat.getColor(getContext(), R.color.ph2));
156+
// ThemeCompat.refreshStatusColor(getContext(), true);
157+
// setHomeAsUpIndicator(R.drawable.ic_back);
158+
// mFollowView.setBackgroundResource(R.drawable.bg_btn_follow_drak);
159+
// mFollowView.setTextColor(ContextCompat.getColor(getContext(), R.color.ph2));
155160
mTitleView.setVisibility(View.VISIBLE);
161+
mTitleView.clearAnimation();
162+
mTitleView.startAnimation(mAnimation);
156163
} else {
164+
mTitleView.clearAnimation();
157165
mTitleView.setVisibility(View.GONE);
158-
ThemeCompat.refreshStatusColor(getContext(), false);
159-
setHomeAsUpIndicator(R.drawable.ic_back_white);
160-
mFollowView.setBackgroundResource(R.drawable.bg_btn_follow);
161-
mFollowView.setTextColor(ContextCompat.getColor(getContext(), R.color.white));
166+
// ThemeCompat.refreshStatusColor(getContext(), false);
167+
// setHomeAsUpIndicator(R.drawable.ic_back_white);
168+
// mFollowView.setBackgroundResource(R.drawable.bg_btn_follow);
169+
// mFollowView.setTextColor(ContextCompat.getColor(getContext(), R.color.white));
162170
}
163171
}
164172

@@ -243,6 +251,7 @@ public boolean onLoadFailed(@Nullable GlideException e, Object o, Target<Drawabl
243251
// 如果没有这张封面图就展示默认的
244252
GlideApp.with(getContext())
245253
.load(userInfo.getAvatar())
254+
.apply(RequestOptions.bitmapTransform(new BlurTransformation(5))) // 高斯模糊
246255
.into(mBackgroundView);
247256
return true;
248257
}
@@ -256,6 +265,7 @@ public boolean onResourceReady(Drawable drawable, Object o, Target<Drawable> tar
256265
return false;
257266
}
258267
})
268+
.apply(RequestOptions.bitmapTransform(new BlurTransformation(5))) // 高斯模糊
259269
.placeholder(R.drawable.account_top_bg)
260270
.into(mBackgroundView);
261271
}
@@ -316,7 +326,7 @@ protected void onStatusBarColorChanged() {
316326
@OnClick(R.id.layout_account_fans)
317327
public void onFansClick() {
318328
if (mUserInfo == null) return;
319-
AppRoute.jumpToFans(this.getContext(), mUserInfo.getDisplayName(), mUserInfo.getUserId());
329+
AppRoute.jumpToFans(this.getContext(), mUserInfo.getDisplayName(), mUserInfo.getBlogApp());
320330
}
321331

322332

@@ -326,7 +336,7 @@ public void onFansClick() {
326336
@OnClick(R.id.layout_account_follow)
327337
public void onFollowClick() {
328338
if (mUserInfo == null) return;
329-
AppRoute.jumpToFollow(this.getContext(), mUserInfo.getDisplayName(), mUserInfo.getUserId());
339+
AppRoute.jumpToFollow(this.getContext(), mUserInfo.getDisplayName(), mUserInfo.getBlogApp());
330340
}
331341

332342
@OnClick(R.id.btn_blogger_follow)

app/src/main/java/com/rae/cnblogs/activity/FriendsActivity.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,17 @@
1515
*/
1616
public class FriendsActivity extends SwipeBackBaseActivity {
1717

18-
private String mUserId;
1918
private int mFromType;
2019

2120
@Override
2221
protected void onCreate(@Nullable Bundle savedInstanceState) {
2322
super.onCreate(savedInstanceState);
2423
setContentView(R.layout.activity_friends);
2524
showHomeAsUp();
26-
mUserId = getIntent().getStringExtra("userId");
25+
String blogApp = getIntent().getStringExtra("blogApp");
2726
String bloggerName = getIntent().getStringExtra("bloggerName");
2827
mFromType = getIntent().getIntExtra("fromType", AppRoute.ACTIVITY_FRIENDS_TYPE_FANS);
29-
if (TextUtils.isEmpty(mUserId)) {
28+
if (TextUtils.isEmpty(blogApp)) {
3029
AppUI.toast(this, "博主信息为空!");
3130
finish();
3231
return;
@@ -43,7 +42,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
4342

4443
getSupportFragmentManager()
4544
.beginTransaction()
46-
.add(R.id.content, BloggerFragment.newInstance(mUserId, isFansType()))
45+
.add(R.id.content, BloggerFragment.newInstance(blogApp, isFansType()))
4746
.commitNowAllowingStateLoss();
4847
}
4948

app/src/main/java/com/rae/cnblogs/activity/SettingActivity.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import com.rae.cnblogs.dialog.IAppDialog;
2323
import com.rae.cnblogs.dialog.IAppDialogClickListener;
2424
import com.rae.cnblogs.dialog.impl.HintCardDialog;
25+
import com.rae.cnblogs.dialog.impl.MenuDialog;
2526
import com.rae.cnblogs.dialog.impl.ShareDialog;
2627
import com.rae.cnblogs.dialog.impl.VersionUpdateDialog;
2728
import com.rae.cnblogs.message.UserInfoEvent;
29+
import com.rae.cnblogs.model.MenuDialogItem;
2830
import com.rae.cnblogs.sdk.ApiDefaultObserver;
2931
import com.rae.cnblogs.sdk.CnblogsApiFactory;
3032
import com.rae.cnblogs.sdk.UserProvider;
@@ -84,6 +86,23 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
8486
*/
8587
@OnClick(R.id.ll_clear_cache)
8688
public void onClearCacheClick() {
89+
MenuDialog dialog = new MenuDialog(getContext());
90+
dialog.addDeleteItem("确定清除");
91+
dialog.addItem("取消");
92+
dialog.setMessage("将清理所有博客以及离线缓存数据,是否确定清除?");
93+
dialog.setOnMenuItemClickListener(new MenuDialog.OnMenuItemClickListener() {
94+
@Override
95+
public void onMenuItemClick(MenuDialog dialog, MenuDialogItem item) {
96+
dialog.dismiss();
97+
if (item.getName().contains("确定")) {
98+
performClearCache();
99+
}
100+
}
101+
});
102+
dialog.show();
103+
}
104+
105+
private void performClearCache() {
87106
// 显示loading
88107
mClearCacheView.setVisibility(View.VISIBLE);
89108
mClearCacheView.loading();
@@ -108,7 +127,6 @@ public void run() {
108127
mClearCacheTextView.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.default_right_arrow, 0);
109128
}
110129
}, 5000);
111-
112130
}
113131

114132
/**
@@ -233,6 +251,10 @@ public void onPraisesClick() {
233251
public void onFontSettingClick() {
234252
AppRoute.jumpToFontSetting(this);
235253
}
254+
@OnClick(R.id.ll_about_me)
255+
public void onAboutMeClick() {
256+
AppRoute.jumpToAboutMe(this);
257+
}
236258

237259
@OnLongClick(R.id.tv_check_update)
238260
public boolean onVersionLongClick() {

app/src/main/java/com/rae/cnblogs/dialog/impl/MenuDialog.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.view.View;
1010
import android.view.ViewGroup;
1111
import android.view.WindowManager;
12+
import android.widget.TextView;
1213

1314
import com.rae.cnblogs.R;
1415
import com.rae.cnblogs.model.MenuDialogItem;
@@ -34,6 +35,9 @@ public interface OnMenuItemClickListener {
3435
@BindView(R.id.rec_dialog_menu)
3536
RecyclerView mRecyclerView;
3637

38+
@BindView(R.id.tv_title)
39+
TextView mTitleView;
40+
3741
private Object mTag;
3842

3943
public MenuDialog(Context context) {
@@ -69,6 +73,11 @@ public void show() {
6973
}
7074
}
7175

76+
@Override
77+
public void setMessage(String message) {
78+
mTitleView.setText(message);
79+
}
80+
7281
public void addItem(String name) {
7382
mAdapter.addItem(name);
7483
}

0 commit comments

Comments
 (0)