Skip to content

Commit 2dbf2c3

Browse files
committed
博文界面UI调整
1 parent 0a1bd81 commit 2dbf2c3

30 files changed

+2880
-2509
lines changed

app/src/main/assets/css/blog-common.bak.css

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

app/src/main/assets/css/bootstrap-theme.css

Lines changed: 293 additions & 154 deletions
Large diffs are not rendered by default.

app/src/main/assets/css/bootstrap-theme.css.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

app/src/main/assets/css/bootstrap-theme.min.css

Lines changed: 12 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/assets/css/bootstrap.css

Lines changed: 1187 additions & 786 deletions
Large diffs are not rendered by default.

app/src/main/assets/css/bootstrap.min.css

Lines changed: 12 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/assets/css/rae.css

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,38 @@
66
padding-bottom:20px;
77
}
88
#blog_title{
9-
text-align: center;
10-
margin-top: 60px;
9+
text-align: left;
10+
margin-top: 25px;
1111
font-weight: bold;
1212
line-height: 32px;
13-
margin-left: 24px;
14-
margin-right: 24px;
13+
}
14+
#author{
15+
margin-top: 72px;
16+
border-bottom: 1px solid #f0f0f0;
17+
padding-bottom: 12px;
18+
}
19+
.author_right{
20+
float: left;
21+
margin-top: 8px;
22+
}
23+
.btn_author{
24+
display: block;
25+
float: right;
26+
margin-top: 12px;
27+
}
28+
#author_name{
29+
font-weight: bold;
30+
display: block;
31+
}
32+
#blog_avatar{
33+
display: block;
34+
float: left;
35+
margin-right: 12px;
36+
box-shadow: none;
37+
max-width:120px;
38+
max-height:120px;
1539
}
1640
#blog_date{
17-
text-align: center;
18-
margin-top: 15px;
1941
display: block;
2042
color: #929292;
2143
}
Binary file not shown.

app/src/main/assets/fonts/glyphicons-halflings-regular.svg

Lines changed: 273 additions & 214 deletions
Loading
Binary file not shown.
Binary file not shown.
Binary file not shown.

app/src/main/assets/js/bootstrap.min.js

Lines changed: 9 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/assets/view.html

Lines changed: 888 additions & 6 deletions
Large diffs are not rendered by default.

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

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,14 @@
44
import android.support.annotation.Nullable;
55
import android.support.v4.app.Fragment;
66
import android.support.v4.app.FragmentTransaction;
7-
import android.support.v7.widget.Toolbar;
87
import android.text.TextUtils;
98
import android.view.View;
10-
import android.widget.ImageView;
119
import android.widget.TextView;
1210

1311
import com.rae.cnblogs.AppRoute;
1412
import com.rae.cnblogs.AppStatusBar;
1513
import com.rae.cnblogs.AppUI;
1614
import com.rae.cnblogs.R;
17-
import com.rae.cnblogs.RaeImageLoader;
1815
import com.rae.cnblogs.RxObservable;
1916
import com.rae.cnblogs.dialog.DialogProvider;
2017
import com.rae.cnblogs.dialog.IAppDialog;
@@ -50,14 +47,14 @@
5047
*/
5148
public class BlogContentActivity extends SwipeBackBaseActivity {
5249

53-
@BindView(R.id.tool_bar)
54-
Toolbar mToolbar;
50+
// @BindView(R.id.tool_bar)
51+
// Toolbar mToolbar;
5552

56-
@BindView(R.id.img_blog_avatar)
57-
ImageView mAvatarView;
53+
// @BindView(R.id.img_blog_avatar)
54+
// ImageView mAvatarView;
5855

59-
@BindView(R.id.tv_blog_author)
60-
TextView mAuthorView;
56+
// @BindView(R.id.tv_blog_author)
57+
// TextView mAuthorView;
6158

6259
@BindView(R.id.tv_comment_badge)
6360
TextView mCommentBadgeView;
@@ -91,8 +88,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
9188
AppStatusBar.setStatusbarToDark(this);
9289
super.onCreate(savedInstanceState);
9390
setContentView(R.layout.activity_blog_content);
94-
setSupportActionBar(mToolbar);
95-
showHomeAsUp(mToolbar);
91+
// setSupportActionBar(mToolbar);
92+
// showHomeAsUp(mToolbar);
9693

9794
final String blogId = getIntent().getStringExtra("blogId");
9895
mBlog = getIntent().getParcelableExtra("blog");
@@ -209,12 +206,13 @@ private void onLoadData(BlogBean blog) {
209206
if (mBlogType == BlogType.KB || (mBlogType == BlogType.NEWS && TextUtils.isEmpty(mBlog.getAuthor()))) {
210207
mPostCommentView.setVisibility(View.GONE);
211208
mViewCommentView.setVisibility(View.GONE);
212-
mAuthorView.setVisibility(View.GONE);
213-
mAvatarView.setVisibility(View.GONE);
214-
} else {
215-
RaeImageLoader.displayHeaderImage(mBlog.getAvatar(), mAvatarView);
216-
mAuthorView.setText(mBlog.getAuthor());
209+
// mAuthorView.setVisibility(View.GONE);
210+
// mAvatarView.setVisibility(View.GONE);
217211
}
212+
// else {
213+
// RaeImageLoader.displayHeaderImage(mBlog.getAvatar(), mAvatarView);
214+
// mAuthorView.setText(mBlog.getAuthor());
215+
// }
218216

219217

220218
// 评论
@@ -250,16 +248,16 @@ public void onEditCommentClick() {
250248
EventBus.getDefault().post(new EditCommentEvent());
251249
}
252250

253-
// 作者头像
254-
@OnClick({R.id.img_blog_avatar, R.id.tv_blog_author})
255-
public void onBloggerClick() {
256-
if (mBlog == null) return;
257-
if (mBlogType != BlogType.BLOG) {
258-
return;
259-
}
260-
261-
AppRoute.jumpToBlogger(this, mBlog.getBlogApp());
262-
}
251+
// // 作者头像
252+
// @OnClick({R.id.img_blog_avatar, R.id.tv_blog_author})
253+
// public void onBloggerClick() {
254+
// if (mBlog == null) return;
255+
// if (mBlogType != BlogType.BLOG) {
256+
// return;
257+
// }
258+
//
259+
// AppRoute.jumpToBlogger(this, mBlog.getBlogApp());
260+
// }
263261

264262
@OnClick(R.id.tool_bar)
265263
public void onActionBarClick() {

app/src/main/java/com/rae/cnblogs/fragment/BlogContentFragment.java

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@
55
import android.content.Intent;
66
import android.os.Bundle;
77
import android.support.annotation.Nullable;
8+
import android.support.v4.content.ContextCompat;
89
import android.view.View;
910
import android.webkit.JavascriptInterface;
1011
import android.webkit.WebSettings;
1112
import android.webkit.WebView;
1213
import android.webkit.WebViewClient;
14+
import android.widget.ImageView;
1315
import android.widget.TextView;
1416

1517
import com.rae.cnblogs.AppRoute;
@@ -28,6 +30,7 @@
2830
import com.rae.cnblogs.sdk.db.model.UserBlogInfo;
2931
import com.rae.cnblogs.widget.ImageLoadingView;
3032
import com.rae.cnblogs.widget.PlaceholderView;
33+
import com.rae.cnblogs.widget.RaeWebView;
3134
import com.rae.cnblogs.widget.webclient.RaeJavaScriptBridge;
3235
import com.rae.cnblogs.widget.webclient.RaeWebViewClient;
3336

@@ -46,6 +49,8 @@ public class BlogContentFragment extends WebViewFragment implements IBlogContent
4649
@BindView(R.id.view_holder)
4750
PlaceholderView mPlaceholderView;
4851

52+
private ImageView mBackView;
53+
private ImageView mMoreView;
4954

5055
private TextView mLikeView;
5156
private ImageLoadingView mBookmarksView;
@@ -86,7 +91,9 @@ public void onCreate(@Nullable Bundle savedInstanceState) {
8691
@Override
8792
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
8893
super.onViewCreated(view, savedInstanceState);
89-
mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
94+
// mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
95+
// todo:调试模式
96+
mWebView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
9097

9198
mPlaceholderView.setOnRetryClickListener(new View.OnClickListener() {
9299
@Override
@@ -96,6 +103,29 @@ public void onClick(View v) {
96103
mContentPresenter.loadContent();
97104
}
98105
});
106+
107+
final int transparentId = ContextCompat.getColor(getContext(), android.R.color.transparent);
108+
109+
mWebView.setOnScrollChangeListener(new RaeWebView.OnScrollChangeListener() {
110+
@Override
111+
public void onScrollChange(int x, int y, int oldX, int oldY) {
112+
if (mBackView == null || mMoreView == null) return;
113+
if (y <= 0) {
114+
// 显示默认的
115+
mBackView.setBackgroundColor(transparentId);
116+
mMoreView.setBackgroundColor(transparentId);
117+
118+
mBackView.setImageResource(R.drawable.ic_back);
119+
mMoreView.setImageResource(R.drawable.ic_action_bar_more);
120+
} else {
121+
int bgResId = R.drawable.bg_blog_content_back;
122+
mBackView.setBackgroundResource(bgResId);
123+
mMoreView.setBackgroundResource(bgResId);
124+
mBackView.setImageResource(R.drawable.ic_back_white);
125+
mMoreView.setImageResource(R.drawable.ic_blog_content_more);
126+
}
127+
}
128+
});
99129
}
100130

101131
@Override
@@ -105,6 +135,8 @@ public Object getJavascriptApi() {
105135
public String getBlog() {
106136
return AppGson.get().toJson(mBlog);
107137
}
138+
139+
108140
};
109141
}
110142

@@ -125,6 +157,9 @@ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
125157
getActivity().findViewById(R.id.ll_like).setOnClickListener(this); // 点赞布局
126158
getActivity().findViewById(R.id.ll_content_bookmarks).setOnClickListener(this); // 收藏布局
127159
mContentPresenter.loadContent();
160+
161+
mBackView = getActivity().findViewById(R.id.back);
162+
mMoreView = getActivity().findViewById(R.id.img_action_bar_more);
128163
}
129164

130165
@Override

app/src/main/java/com/rae/cnblogs/fragment/WebViewFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public static WebViewFragment newInstance(String url) {
5858
}
5959

6060
// @BindView(R.id.web_view_blog_content)
61-
WebView mWebView;
61+
RaeWebView mWebView;
6262

6363
@BindView(R.id.content)
6464
FrameLayout mContentLayout;

app/src/main/java/com/rae/cnblogs/widget/RaeWebView.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@
1515
public class RaeWebView extends WebView {
1616
private static Field sConfigCallback;
1717

18+
public interface OnScrollChangeListener {
19+
void onScrollChange(int x, int y, int oldX, int oldY);
20+
}
21+
22+
protected OnScrollChangeListener mOnScrollChangeListener;
23+
1824
static {
1925
try {
2026
sConfigCallback = Class.forName("android.webkit.BrowserFrame")
@@ -47,6 +53,10 @@ public RaeWebView(Context context, AttributeSet attrs, int defStyleAttr, boolean
4753
super(context, attrs, defStyleAttr, privateBrowsing);
4854
}
4955

56+
public void setOnScrollChangeListener(OnScrollChangeListener onScrollChangeListener) {
57+
mOnScrollChangeListener = onScrollChangeListener;
58+
}
59+
5060
@Override
5161
public boolean onKeyDown(int keyCode, KeyEvent event) {
5262
if (canGoBack() && keyCode == KeyEvent.KEYCODE_BACK) {
@@ -58,6 +68,7 @@ public boolean onKeyDown(int keyCode, KeyEvent event) {
5868

5969
@Override
6070
public void destroy() {
71+
mOnScrollChangeListener = null;
6172
clearHistory();
6273
setTag(null);
6374
super.destroy();
@@ -69,4 +80,11 @@ public void destroy() {
6980
}
7081
}
7182

83+
@Override
84+
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
85+
super.onScrollChanged(l, t, oldl, oldt);
86+
if (mOnScrollChangeListener != null) {
87+
mOnScrollChangeListener.onScrollChange(l, t, oldl, oldt);
88+
}
89+
}
7290
}

app/src/main/java/com/rae/cnblogs/widget/webclient/RaeJavaScriptBridge.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,15 @@ public void jumpToTest() {
6666
}
6767
}
6868

69+
/**
70+
* 跳转到博主界面
71+
*/
72+
@JavascriptInterface
73+
public void jumpToBlogger(String blogApp) {
74+
if (TextUtils.isEmpty(blogApp)) return;
75+
if (mReference.get() != null) {
76+
AppRoute.jumpToBlogger(mReference.get(), blogApp);
77+
}
78+
}
79+
6980
}
Loading
Loading
Loading
Loading
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--博文返回按钮-->
3+
<shape xmlns:android="http://schemas.android.com/apk/res/android"
4+
android:shape="oval">
5+
<solid android:color="#C1000000"/>
6+
</shape>

app/src/main/res/drawable/progress_web_view.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,21 @@
22
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
33

44
<item android:id="@android:id/background">
5-
<color android:color="@android:color/transparent"/>
5+
<!-- <color android:color="@android:color/transparent"/>-->
6+
<shape>
7+
<gradient
8+
android:endColor="@color/colorPrimary"
9+
android:startColor="#9bd7ff"/>
10+
</shape>
611
</item>
712

813
<!-- 第二条进度条颜色 -->
914
<item android:id="@android:id/secondaryProgress">
1015
<clip>
1116
<shape>
12-
<solid android:color="@color/colorPrimaryDark"/>
17+
<gradient
18+
android:endColor="#32FFFFFF"
19+
android:startColor="#00FFFFFF"/>
1320
</shape>
1421
</clip>
1522
</item>
@@ -18,7 +25,9 @@
1825
<item android:id="@android:id/progress">
1926
<clip>
2027
<shape>
21-
<solid android:color="@color/colorPrimary"/>
28+
<gradient
29+
android:endColor="#FFFFFF"
30+
android:startColor="#C8FFFFFF"/>
2231
</shape>
2332
</clip>
2433
</item>

0 commit comments

Comments
 (0)