Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beyond-clouds-android
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
云深项目组
beyond-clouds-android
Commits
bf7cf456
Commit
bf7cf456
authored
Mar 23, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
文章加载添加动画
parent
e907fe53
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
103 additions
and
1 deletions
+103
-1
app/build.gradle
+1
-1
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/blog/BlogDetailActivity.java
+37
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/project/ProjectDetailActivity.java
+36
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/question/QuestionDetailActivity.java
+29
-0
No files found.
app/build.gradle
View file @
bf7cf456
...
...
@@ -73,5 +73,5 @@ dependencies {
implementation
'com.facebook.fresco:animated-webp:0.12.0'
implementation
'com.facebook.fresco:webpsupport:0.12.0'
implementation
'org.jsoup:jsoup:1.13.1'
implementation
'me.samlss:broccoli:1.0.0'
}
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/blog/BlogDetailActivity.java
View file @
bf7cf456
package
cn
.
yunliyunwai
.
beyondclouds
.
ui
.
blog
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.animation.LinearInterpolator
;
import
android.webkit.WebSettings
;
import
android.webkit.WebView
;
...
...
@@ -28,6 +30,9 @@ import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
import
cn.yunliyunwai.beyondclouds.util.HtmlUtils
;
import
cn.yunliyunwai.beyondclouds.util.StatusBarUtils
;
import
cn.yunliyunwai.beyondclouds.viewmodel.BlogDetailViewModel
;
import
me.samlss.broccoli.Broccoli
;
import
me.samlss.broccoli.BroccoliGradientDrawable
;
import
me.samlss.broccoli.PlaceholderParameter
;
public
class
BlogDetailActivity
extends
BaseActivity
<
BlogDetailViewModel
,
ActivityBlogDetailBinding
>
{
...
...
@@ -46,6 +51,9 @@ public class BlogDetailActivity extends BaseActivity<BlogDetailViewModel, Activi
@Inject
ViewModelProvider
.
Factory
factory
;
private
Broccoli
broccoli
=
new
Broccoli
();
@Override
protected
void
initInject
()
{
ContextUtils
.
getAppComponent
(
this
).
inject
(
this
);
...
...
@@ -70,6 +78,34 @@ public class BlogDetailActivity extends BaseActivity<BlogDetailViewModel, Activi
blogId
=
getIntent
().
getStringExtra
(
ARG_BLOG_ID
);
initEventListenersAndObservers
();
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtTitle
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtUserNick
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtArticleCategory
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtArticleAbstract
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholders
(
binding
.
imageUserAvatar
);
broccoli
.
show
();
}
private
void
initEventListenersAndObservers
()
{
...
...
@@ -99,6 +135,7 @@ public class BlogDetailActivity extends BaseActivity<BlogDetailViewModel, Activi
@Override
public
void
onChanged
(
BlogDetailViewModel
.
LoadState
loadState
)
{
if
(
loadState
.
isLoadComplete
())
{
broccoli
.
clearAllPlaceholders
();
String
contentHtml
=
viewModel
.
getBlog
().
getValue
().
getContentHtml
();
contentHtml
=
HtmlUtils
.
enCode
(
contentHtml
);
webView
.
evaluateJavascript
(
"javascript:loadArticleContent('"
+
contentHtml
+
"')"
,
null
);
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/project/ProjectDetailActivity.java
View file @
bf7cf456
package
cn
.
yunliyunwai
.
beyondclouds
.
ui
.
project
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.animation.LinearInterpolator
;
import
android.webkit.WebSettings
;
import
android.webkit.WebView
;
...
...
@@ -28,6 +30,9 @@ import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
import
cn.yunliyunwai.beyondclouds.util.HtmlUtils
;
import
cn.yunliyunwai.beyondclouds.util.StatusBarUtils
;
import
cn.yunliyunwai.beyondclouds.viewmodel.ProjectDetailViewModel
;
import
me.samlss.broccoli.Broccoli
;
import
me.samlss.broccoli.BroccoliGradientDrawable
;
import
me.samlss.broccoli.PlaceholderParameter
;
public
class
ProjectDetailActivity
extends
BaseActivity
<
ProjectDetailViewModel
,
ActivityProjectDetailBinding
>
{
...
...
@@ -46,6 +51,8 @@ public class ProjectDetailActivity extends BaseActivity<ProjectDetailViewModel,
@Inject
ViewModelProvider
.
Factory
factory
;
private
Broccoli
broccoli
=
new
Broccoli
();
@Override
protected
void
initInject
()
{
ContextUtils
.
getAppComponent
(
this
).
inject
(
this
);
...
...
@@ -69,6 +76,34 @@ public class ProjectDetailActivity extends BaseActivity<ProjectDetailViewModel,
StatusBarUtils
.
setWindowStatusBarColor
(
this
,
R
.
color
.
colorStatusBar
);
blogId
=
getIntent
().
getStringExtra
(
ARG_PROJECT_ID
);
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtTitle
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtUserNick
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtArticleCategory
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtArticleAbstract
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholders
(
binding
.
imageUserAvatar
);
broccoli
.
show
();
initEventListenersAndObservers
();
}
...
...
@@ -99,6 +134,7 @@ public class ProjectDetailActivity extends BaseActivity<ProjectDetailViewModel,
@Override
public
void
onChanged
(
ProjectDetailViewModel
.
LoadState
loadState
)
{
if
(
loadState
.
isLoadComplete
())
{
broccoli
.
clearAllPlaceholders
();
String
contentHtml
=
viewModel
.
getProject
().
getValue
().
getContentHtml
();
contentHtml
=
HtmlUtils
.
enCode
(
contentHtml
);
webView
.
evaluateJavascript
(
"javascript:loadArticleContent('"
+
contentHtml
+
"')"
,
null
);
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/question/QuestionDetailActivity.java
View file @
bf7cf456
package
cn
.
yunliyunwai
.
beyondclouds
.
ui
.
question
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.animation.LinearInterpolator
;
import
android.webkit.WebSettings
;
import
android.webkit.WebView
;
...
...
@@ -28,6 +30,9 @@ import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
import
cn.yunliyunwai.beyondclouds.util.HtmlUtils
;
import
cn.yunliyunwai.beyondclouds.util.StatusBarUtils
;
import
cn.yunliyunwai.beyondclouds.viewmodel.QuestionDetailViewModel
;
import
me.samlss.broccoli.Broccoli
;
import
me.samlss.broccoli.BroccoliGradientDrawable
;
import
me.samlss.broccoli.PlaceholderParameter
;
public
class
QuestionDetailActivity
extends
BaseActivity
<
QuestionDetailViewModel
,
ActivityQuestionDetailBinding
>
{
...
...
@@ -46,6 +51,8 @@ public class QuestionDetailActivity extends BaseActivity<QuestionDetailViewModel
@Inject
ViewModelProvider
.
Factory
factory
;
private
Broccoli
broccoli
=
new
Broccoli
();
@Override
protected
void
initInject
()
{
ContextUtils
.
getAppComponent
(
this
).
inject
(
this
);
...
...
@@ -69,6 +76,27 @@ public class QuestionDetailActivity extends BaseActivity<QuestionDetailViewModel
StatusBarUtils
.
setWindowStatusBarColor
(
this
,
R
.
color
.
colorStatusBar
);
blogId
=
getIntent
().
getStringExtra
(
ARG_QUESTION_ID
);
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtTitle
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtUserNick
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholder
(
new
PlaceholderParameter
.
Builder
()
.
setView
(
binding
.
txtArticleCategory
)
.
setDrawable
(
new
BroccoliGradientDrawable
(
Color
.
parseColor
(
"#DDDDDD"
),
Color
.
parseColor
(
"#CCCCCC"
),
0
,
1000
,
new
LinearInterpolator
()))
.
build
());
broccoli
.
addPlaceholders
(
binding
.
imageUserAvatar
);
broccoli
.
show
();
initEventListenersAndObservers
();
}
...
...
@@ -99,6 +127,7 @@ public class QuestionDetailActivity extends BaseActivity<QuestionDetailViewModel
@Override
public
void
onChanged
(
QuestionDetailViewModel
.
LoadState
loadState
)
{
if
(
loadState
.
isLoadComplete
())
{
broccoli
.
clearAllPlaceholders
();
String
contentHtml
=
viewModel
.
getQuestion
().
getValue
().
getContentHtml
();
contentHtml
=
HtmlUtils
.
enCode
(
contentHtml
);
webView
.
evaluateJavascript
(
"javascript:loadArticleContent('"
+
contentHtml
+
"')"
,
null
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment