Skip to content

Commit 4c98c71

Browse files
author
ChenRui
committed
博文添加字体设置入口;
闪存添加我的; 闪存添加登录提示;
1 parent 057ecd3 commit 4c98c71

35 files changed

+401
-117
lines changed

Diff for: app/src/main/assets/view.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@
168168
if(blog.content==null|| blog.content==""){
169169
$("#blog_content").append("<p>接口缺失正文内容,可能由于博客发布时间已经久远,接口任性就是没有返回数据。</p><p>你可以尝试点击下面阅读原文阅读,也可以点击右上方的更多按钮查看原文。</p><p><a href='"+blog.url +"' class='a-source'>【阅读原文】</a></p>");
170170
}else{
171-
$("#blog_content").append(blog.content);
171+
$("#blog_content").html(blog.content);
172172
if($(".math").length>0){
173173
// 渲染数学公式
174174
alert('mathjax');

Diff for: app/src/main/java/com/rae/cnblogs/activity/FontSettingActivity.java

+6
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@
77
import android.widget.TextView;
88

99
import com.rae.cnblogs.R;
10+
import com.rae.cnblogs.message.FontChangedEvent;
1011
import com.rae.cnblogs.widget.RaeSeekBar;
1112

13+
import org.greenrobot.eventbus.EventBus;
14+
1215
import butterknife.BindView;
1316

1417
/**
@@ -57,5 +60,8 @@ protected void onDestroy() {
5760
// 保存设置
5861
config().setPageTextSize(mSeekBar.getTextSize(mSeekBar.getProgress()));
5962
super.onDestroy();
63+
64+
// 通知
65+
EventBus.getDefault().post(new FontChangedEvent());
6066
}
6167
}

Diff for: app/src/main/java/com/rae/cnblogs/activity/MainActivity.java

-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ public void onTabReselected(TabLayout.Tab tab) {
121121

122122
// 统计打开时间
123123
AppMobclickAgent.onAppOpenEvent(this);
124-
mViewPager.setCurrentItem(1);
125124

126125
// 检查更新
127126
RxObservable.create(CnblogsApiFactory

Diff for: app/src/main/java/com/rae/cnblogs/activity/PostMomentActivity.java

+11
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,14 @@
2222
import com.rae.cnblogs.GlideApp;
2323
import com.rae.cnblogs.R;
2424
import com.rae.cnblogs.dialog.impl.DefaultDialog;
25+
import com.rae.cnblogs.message.PostMomentEvent;
2526
import com.rae.cnblogs.presenter.CnblogsPresenterFactory;
2627
import com.rae.cnblogs.presenter.IPostMomentContract;
2728
import com.rae.cnblogs.sdk.model.ImageMetaData;
2829
import com.rae.cnblogs.sdk.model.MomentMetaData;
2930

31+
import org.greenrobot.eventbus.EventBus;
32+
3033
import java.util.ArrayList;
3134
import java.util.List;
3235

@@ -50,6 +53,7 @@ public class PostMomentActivity extends BaseActivity implements IPostMomentContr
5053

5154
@Override
5255
protected void onCreate(@Nullable Bundle savedInstanceState) {
56+
overridePendingTransition(com.rae.cnblogs.R.anim.slide_in_bottom, android.R.anim.fade_out);
5357
super.onCreate(savedInstanceState);
5458
setContentView(R.layout.activity_post_moment);
5559
showHomeAsUp();
@@ -148,6 +152,7 @@ public void onPostMomentFailed(String msg) {
148152
@Override
149153
public void onPostMomentSuccess() {
150154
AppUI.success(this, R.string.tips_post_moment_success);
155+
EventBus.getDefault().post(new PostMomentEvent(0, true, null));
151156
setResult(RESULT_OK);
152157
finish();
153158
}
@@ -189,6 +194,12 @@ public void onPostViewClick() {
189194
}
190195
}
191196

197+
@Override
198+
public void finish() {
199+
super.finish();
200+
overridePendingTransition(0, com.rae.cnblogs.R.anim.slide_out_bottom);
201+
}
202+
192203
private static class PostImageHolder extends RecyclerView.ViewHolder {
193204
ImageView mImageView;
194205

Diff for: app/src/main/java/com/rae/cnblogs/adapter/MomentAdapter.java

+6
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,12 @@ public SimpleViewHolder onCreateViewHolder(LayoutInflater inflater, ViewGroup pa
9797
return new MomentHolder(inflateView(parent, R.layout.item_moment_list));
9898
}
9999

100+
@Override
101+
protected void onBindItemClickListener(SimpleViewHolder holder, int position, MomentBean dataItem) {
102+
if (getItemViewType(position) == VIEW_TYPE_LOADING) return;
103+
super.onBindItemClickListener(holder, position, dataItem);
104+
}
105+
100106
@Override
101107
public void onBindViewHolder(SimpleViewHolder viewHolder, int position, MomentBean m) {
102108
int viewType = getItemViewType(position);

Diff for: app/src/main/java/com/rae/cnblogs/adapter/MomentDetailAdapter.java

+7
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.rae.cnblogs.model.MomentCommentHolder;
1717
import com.rae.cnblogs.model.MomentHolder;
1818
import com.rae.cnblogs.model.SimpleViewHolder;
19+
import com.rae.cnblogs.sdk.UserProvider;
1920
import com.rae.cnblogs.sdk.bean.MomentBean;
2021
import com.rae.cnblogs.sdk.bean.MomentCommentBean;
2122
import com.rae.cnblogs.widget.PlaceholderView;
@@ -42,6 +43,7 @@ public class MomentDetailAdapter extends BaseItemAdapter<MomentCommentBean, Simp
4243
private View.OnClickListener mOnFollowClickListener;
4344
private MomentAdapter.OnBloggerClickListener mOnBloggerClickListener;
4445
private MomentHolder mMomentHolder;
46+
private CharSequence mBlogApp;
4547

4648
public MomentDetailAdapter(MomentBean momentBean) {
4749
mMomentBean = momentBean;
@@ -173,6 +175,7 @@ private void onBindCommentViewHolder(MomentCommentHolder holder, MomentCommentBe
173175
private void onBindDetailInfoViewHolder(MomentHolder holder, MomentBean m) {
174176

175177
holder.followView.setOnClickListener(mOnFollowClickListener);
178+
holder.followView.setVisibility(TextUtils.equals(m.getBlogApp(), mBlogApp) ? View.GONE : View.VISIBLE);
176179
holder.mRecyclerView.setVisibility(Rx.isEmpty(m.getImageList()) ? View.GONE : View.VISIBLE);
177180

178181
int imageCount = Rx.getCount(m.getImageList());
@@ -228,6 +231,9 @@ private void onBindEmptyViewHolder(final PlaceholderView view) {
228231
@Override
229232
public void invalidate(List<MomentCommentBean> data) {
230233
mIsEmpty = false;
234+
if (UserProvider.getInstance().isLogin()) {
235+
mBlogApp = UserProvider.getInstance().getLoginUserInfo().getBlogApp();
236+
}
231237
super.invalidate(data);
232238
}
233239

@@ -237,4 +243,5 @@ public void empty(String message) {
237243
clear();
238244
notifyDataSetChanged();
239245
}
246+
240247
}

Diff for: app/src/main/java/com/rae/cnblogs/adapter/MomentMessageAdapter.java

+7
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@ public int getItemViewType(int position) {
4343
return super.getItemViewType(position);
4444
}
4545

46+
@Override
47+
protected void onBindItemClickListener(SimpleViewHolder holder, int position, MomentCommentBean dataItem) {
48+
if (getItemViewType(position) == VIEW_TYPE_LOADING) return;
49+
super.onBindItemClickListener(holder, position, dataItem);
50+
}
51+
52+
4653
@Override
4754
public SimpleViewHolder onCreateViewHolder(LayoutInflater inflater, ViewGroup parent, int viewType) {
4855
if (viewType == VIEW_TYPE_LOADING) {

Diff for: app/src/main/java/com/rae/cnblogs/dialog/impl/ShareDialog.java

+17-5
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import android.widget.Button;
2222
import android.widget.TextView;
2323

24+
import com.rae.cnblogs.AppRoute;
2425
import com.rae.cnblogs.AppUI;
2526
import com.rae.cnblogs.R;
2627
import com.rae.cnblogs.ThemeCompat;
@@ -78,6 +79,9 @@ public interface OnShareClickListener {
7879
@BindView(R.id.btn_share_cancel)
7980
Button mCancelView;
8081

82+
@BindView(R.id.tv_share_font)
83+
TextView mFontSettingView;
84+
8185
@BindView(R.id.hl_ext_action_layout)
8286
View mExtLayout;
8387

@@ -155,7 +159,7 @@ public void setOnShareClickListener(OnShareClickListener onShareClickListener) {
155159
public void setExtVisibility(int visibility) {
156160
mViewSourceView.setVisibility(visibility);
157161
mNightView.setVisibility(visibility);
158-
162+
mFontSettingView.setVisibility(visibility);
159163
// mExtLayout.setVisibility(visibility);
160164
// mDividerView.setVisibility(visibility);
161165
}
@@ -169,18 +173,19 @@ public void setExtLayoutVisibility(int visibility) {
169173
private void startAnim() {
170174

171175
List<View> views = new ArrayList<>();
172-
views.add(mWeChatView);
173-
views.add(mWeChatSNSView);
174176
views.add(mQQView);
175177
views.add(mQzoneView);
178+
views.add(mWeChatView);
179+
views.add(mWeChatSNSView);
176180
views.add(mSinaView);
177181
startAnimSet(views);
178182

179183
views.clear();
180184
views.add(mViewSourceView);
181-
views.add(mLinkView);
182-
views.add(mBrowseriew);
183185
views.add(mNightView);
186+
views.add(mFontSettingView);
187+
views.add(mBrowseriew);
188+
views.add(mLinkView);
184189
startAnimSet(views);
185190
views.clear();
186191

@@ -332,6 +337,13 @@ void onCancelClick() {
332337
dismiss();
333338
}
334339

340+
// 字体设置
341+
@OnClick(R.id.tv_share_font)
342+
void onFontSettingClick() {
343+
dismiss();
344+
AppRoute.jumpToFontSetting(getContext());
345+
}
346+
335347
@Override
336348
public void setButtonText(int buttonType, String text) {
337349
switch (buttonType) {

Diff for: app/src/main/java/com/rae/cnblogs/fragment/BlogCommentFragment.java

+6
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import java.util.List;
3434

3535
import butterknife.BindView;
36+
import butterknife.OnClick;
3637
import in.srain.cube.views.ptr.PtrDefaultHandler;
3738
import in.srain.cube.views.ptr.PtrFrameLayout;
3839

@@ -333,4 +334,9 @@ public void scrollToTop() {
333334
RaeViewCompat.scrollToTop(mRecyclerView);
334335
}
335336

337+
@OnClick(R.id.tv_edit_comment)
338+
public void onCommentClick() {
339+
mEditCommentDialog.show();
340+
}
341+
336342
}

Diff for: app/src/main/java/com/rae/cnblogs/fragment/BlogContentFragment.java

+23-9
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.rae.cnblogs.dialog.IAppDialog;
2525
import com.rae.cnblogs.dialog.IAppDialogClickListener;
2626
import com.rae.cnblogs.dialog.impl.HintCardDialog;
27+
import com.rae.cnblogs.message.FontChangedEvent;
2728
import com.rae.cnblogs.message.ThemeChangedEvent;
2829
import com.rae.cnblogs.presenter.CnblogsPresenterFactory;
2930
import com.rae.cnblogs.presenter.IBlogContentPresenter;
@@ -59,6 +60,7 @@ public class BlogContentFragment extends WebViewFragment implements IBlogContent
5960
private ImageLoadingView mBookmarksView;
6061
private ImageLoadingView mLikeAnimView; // 点赞做动画的视图
6162
private BlogType mBlogType;
63+
private int mSourceTextZoom; // 刚进来的字体大小
6264

6365
public static BlogContentFragment newInstance(BlogBean blog, BlogType type) {
6466
Bundle args = new Bundle();
@@ -94,6 +96,7 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
9496
@Override
9597
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
9698
super.onViewCreated(view, savedInstanceState);
99+
mSourceTextZoom = mWebView.getSettings().getTextZoom();
97100
if (BuildConfig.DEBUG) {
98101
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
99102
} else {
@@ -102,14 +105,7 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
102105
}
103106

104107
// 设置字体大小
105-
int pageTextSize = config().getPageTextSize();
106-
if (pageTextSize > 0) {
107-
// 默认字体大小
108-
int defaultTextSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 18, getResources().getDisplayMetrics());
109-
int zoom = mWebView.getSettings().getTextZoom() * pageTextSize / defaultTextSize;
110-
mWebView.getSettings().setTextZoom(zoom);
111-
}
112-
108+
initFontSize();
113109

114110
mPlaceholderView.setOnRetryClickListener(new View.OnClickListener() {
115111
@Override
@@ -146,6 +142,19 @@ public void onScrollChange(int x, int y, int oldX, int oldY) {
146142
});
147143
}
148144

145+
private void initFontSize() {
146+
if (mSourceTextZoom <= 0) {
147+
mSourceTextZoom = mWebView.getSettings().getTextZoom();
148+
}
149+
int pageTextSize = config().getPageTextSize();
150+
if (pageTextSize > 0) {
151+
// 默认字体大小
152+
int defaultTextSize = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 18, getResources().getDisplayMetrics());
153+
int zoom = mSourceTextZoom * pageTextSize / defaultTextSize;
154+
mWebView.getSettings().setTextZoom(zoom);
155+
}
156+
}
157+
149158
@Override
150159
public Object getJavascriptApi() {
151160
return new RaeJavaScriptBridge(getContext()) {
@@ -379,6 +388,11 @@ public void scrollToTop() {
379388
@Subscribe
380389
public void onEvent(ThemeChangedEvent event) {
381390
mWebView.loadUrl("javascript:loadTheme(" + event.isNight() + ")");
382-
// mWebView.reload();
391+
}
392+
393+
@Subscribe
394+
public void onEvent(FontChangedEvent event) {
395+
initFontSize();
396+
mWebView.reload();
383397
}
384398
}

Diff for: app/src/main/java/com/rae/cnblogs/fragment/HomeFragment.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import android.content.Intent;
55
import android.os.Bundle;
66
import android.support.annotation.Nullable;
7-
import android.support.design.widget.TabLayout;
7+
import android.support.design.widget.DesignTabLayout;
88
import android.support.v4.view.ViewPager;
99
import android.view.View;
1010

@@ -42,7 +42,7 @@ public static HomeFragment newInstance() {
4242
}
4343

4444
@BindView(R.id.tab_category)
45-
TabLayout mTabLayout;
45+
DesignTabLayout mTabLayout;
4646

4747
@BindView(R.id.vp_blog_list)
4848
ViewPager mViewPager;
@@ -104,19 +104,19 @@ public void onLoadCategory(List<CategoryBean> data) {
104104
mAdapter = new BlogListAdapter(getChildFragmentManager(), data);
105105
mViewPager.setAdapter(mAdapter);
106106
mTabLayout.setupWithViewPager(mViewPager);
107-
mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
107+
mTabLayout.addOnTabSelectedListener(new DesignTabLayout.OnTabSelectedListener() {
108108
@Override
109-
public void onTabSelected(TabLayout.Tab tab) {
109+
public void onTabSelected(DesignTabLayout.Tab tab) {
110110

111111
}
112112

113113
@Override
114-
public void onTabUnselected(TabLayout.Tab tab) {
114+
public void onTabUnselected(DesignTabLayout.Tab tab) {
115115

116116
}
117117

118118
@Override
119-
public void onTabReselected(TabLayout.Tab tab) {
119+
public void onTabReselected(DesignTabLayout.Tab tab) {
120120
goTop();
121121
}
122122
});

0 commit comments

Comments
 (0)