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
adf2e66b
Commit
adf2e66b
authored
Mar 21, 2020
by
段启岩
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
列表优化完成
parent
07168d10
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
278 additions
and
68 deletions
+278
-68
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/BlogListRecyclerViewAdapter.java
+28
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/DynamicListRecyclerViewAdapter.java
+8
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/ProjectListRecyclerViewAdapter.java
+7
-2
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/QuestionListRecyclerViewAdapter.java
+7
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/data/model/Blog.java
+18
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/data/model/Project.java
+3
-0
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/common/RefreshableFragment.java
+7
-2
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/DynamicFragment.java
+3
-2
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/HomeFragment.java
+3
-2
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/ProjectFragment.java
+3
-2
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/QAFragment.java
+3
-2
app/src/main/java/cn/yunliyunwai/beyondclouds/util/DateUtils.java
+1
-1
app/src/main/java/cn/yunliyunwai/beyondclouds/util/RetrofitServiceGenerator.java
+1
-1
app/src/main/res/drawable/background_icon_praise.xml
+7
-0
app/src/main/res/layout/activity_blog_detail.xml
+1
-0
app/src/main/res/layout/blog_item.xml
+82
-4
app/src/main/res/layout/project_item.xml
+92
-47
app/src/main/res/layout/question_item.xml
+3
-3
app/src/main/res/values/colors.xml
+1
-0
No files found.
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/BlogListRecyclerViewAdapter.java
View file @
adf2e66b
...
...
@@ -13,11 +13,19 @@ import com.chad.library.adapter.base.BaseViewHolder;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.data.model.Blog
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.databinding.BlogItemBinding
;
import
cn.yunliyunwai.beyondclouds.util.DateUtils
;
import
cn.yunliyunwai.beyondclouds.util.GlideRoundTransform
;
public
class
BlogListRecyclerViewAdapter
extends
BaseQuickAdapter
<
Blog
,
BaseViewHolder
>
{
private
CommonCategory
category
;
public
BlogListRecyclerViewAdapter
(
int
layoutResId
,
CommonCategory
category
)
{
super
(
layoutResId
);
this
.
category
=
category
;
}
private
static
final
RequestOptions
glideRequestOptions
=
new
RequestOptions
()
.
centerCrop
()
.
placeholder
(
R
.
drawable
.
placeholder_rectangle
)
...
...
@@ -49,5 +57,24 @@ public class BlogListRecyclerViewAdapter extends BaseQuickAdapter<Blog ,BaseView
}
else
{
binding
.
iconHot
.
setVisibility
(
View
.
GONE
);
}
binding
.
iconTop
.
setVisibility
(
View
.
GONE
);
if
(
category
.
getCategoryType
()
==
CommonCategory
.
CategoryType
.
LATEST
||
category
.
getCategoryType
()
==
CommonCategory
.
CategoryType
.
RECOMMEND
)
{
if
(
blog
.
getPriority
()
>
0
)
{
binding
.
iconTop
.
setVisibility
(
View
.
VISIBLE
);
}
}
if
(
category
.
getCategoryType
()
==
CommonCategory
.
CategoryType
.
REAL
)
{
if
(
blog
.
getCategoryPriority
()
>
0
)
{
binding
.
iconTop
.
setVisibility
(
View
.
VISIBLE
);
}
}
binding
.
txtCreateTime
.
setText
(
DateUtils
.
toMoment
(
blog
.
getCreateTime
()));
binding
.
txtCommentNumber
.
setText
(
blog
.
getCommentNumber
().
toString
());
binding
.
txtPraiseNumber
.
setText
(
blog
.
getPraiseNum
().
toString
());
binding
.
txtViewNumber
.
setText
(
blog
.
getViewNumber
().
toString
());
}
}
\ No newline at end of file
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/DynamicListRecyclerViewAdapter.java
View file @
adf2e66b
...
...
@@ -27,6 +27,7 @@ import java.util.regex.Matcher;
import
java.util.regex.Pattern
;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.data.model.Post
;
import
cn.yunliyunwai.beyondclouds.databinding.PostItemBinding
;
import
cn.yunliyunwai.beyondclouds.util.DateUtils
;
...
...
@@ -34,6 +35,8 @@ import cn.yunliyunwai.beyondclouds.util.GlideRoundTransform;
import
lombok.Data
;
public
class
DynamicListRecyclerViewAdapter
extends
BaseQuickAdapter
<
Post
,
BaseViewHolder
>
{
private
CommonCategory
category
;
private
static
final
RequestOptions
glideRequestOptions
=
new
RequestOptions
()
.
centerCrop
()
.
placeholder
(
R
.
drawable
.
placeholder_circle
)
...
...
@@ -42,6 +45,11 @@ public class DynamicListRecyclerViewAdapter extends BaseQuickAdapter<Post,BaseVi
.
diskCacheStrategy
(
DiskCacheStrategy
.
AUTOMATIC
)
.
transform
(
new
GlideRoundTransform
(
20
));
public
DynamicListRecyclerViewAdapter
(
int
layoutResId
,
CommonCategory
category
)
{
super
(
layoutResId
);
this
.
category
=
category
;
}
@Data
static
class
PostLink
{
enum
LinkType
{
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/ProjectListRecyclerViewAdapter.java
View file @
adf2e66b
...
...
@@ -12,12 +12,14 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.data.model.Project
;
import
cn.yunliyunwai.beyondclouds.databinding.ProjectItemBinding
;
import
cn.yunliyunwai.beyondclouds.util.DateUtils
;
import
cn.yunliyunwai.beyondclouds.util.GlideRoundTransform
;
public
class
ProjectListRecyclerViewAdapter
extends
BaseQuickAdapter
<
Project
,
BaseViewHolder
>
{
private
CommonCategory
category
;
private
static
final
RequestOptions
glideRequestOptions
=
new
RequestOptions
()
.
centerCrop
()
.
placeholder
(
R
.
drawable
.
placeholder_rectangle
)
...
...
@@ -27,8 +29,9 @@ public class ProjectListRecyclerViewAdapter extends BaseQuickAdapter<Project,Bas
.
diskCacheStrategy
(
DiskCacheStrategy
.
NONE
)
.
transform
(
new
GlideRoundTransform
(
3
));
public
ProjectListRecyclerViewAdapter
(
int
layoutResId
)
{
public
ProjectListRecyclerViewAdapter
(
int
layoutResId
,
CommonCategory
category
)
{
super
(
layoutResId
);
this
.
category
=
category
;
}
@Override
...
...
@@ -36,9 +39,11 @@ public class ProjectListRecyclerViewAdapter extends BaseQuickAdapter<Project,Bas
ProjectItemBinding
binding
=
ProjectItemBinding
.
bind
(
helper
.
itemView
);
binding
.
txtTitle
.
setText
(
project
.
getProjectName
());
binding
.
txtAbstract
.
setText
(
project
.
getProjectName
());
binding
.
txtAuthor
.
setText
(
project
.
getUserNick
());
binding
.
txtCreateTime
.
setText
(
DateUtils
.
format
(
project
.
getCreateTime
()));
binding
.
txtCommentNumber
.
setText
(
project
.
getCommentNumber
().
toString
());
binding
.
txtPraiseNumber
.
setText
(
project
.
getPraiseNum
().
toString
());
binding
.
txtViewNumber
.
setText
(
project
.
getViewNumber
().
toString
());
if
(
null
!=
project
.
getCover
()
&&
!
TextUtils
.
isEmpty
(
project
.
getCover
().
trim
())
&&
project
.
getCover
().
startsWith
(
"http"
))
{
binding
.
blogCover
.
setVisibility
(
View
.
VISIBLE
);
Glide
.
with
(
binding
.
getRoot
()).
applyDefaultRequestOptions
(
glideRequestOptions
).
load
(
project
.
getCover
()).
into
(
binding
.
blogCover
);
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/adapter/QuestionListRecyclerViewAdapter.java
View file @
adf2e66b
...
...
@@ -6,15 +6,22 @@ import android.view.View;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseViewHolder
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.data.model.Question
;
import
cn.yunliyunwai.beyondclouds.databinding.QuestionItemBinding
;
public
class
QuestionListRecyclerViewAdapter
extends
BaseQuickAdapter
<
Question
,
BaseViewHolder
>
{
private
CommonCategory
category
;
public
QuestionListRecyclerViewAdapter
(
int
layoutResId
)
{
super
(
layoutResId
);
}
public
QuestionListRecyclerViewAdapter
(
int
layoutResId
,
CommonCategory
category
)
{
super
(
layoutResId
);
this
.
category
=
category
;
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
Question
question
)
{
QuestionItemBinding
binding
=
QuestionItemBinding
.
bind
(
helper
.
itemView
);
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/data/model/Blog.java
View file @
adf2e66b
...
...
@@ -17,6 +17,8 @@ public class Blog {
private
String
allowComment
;
private
String
allowForward
;
private
String
userNick
;
private
Integer
priority
;
private
Integer
categoryPriority
;
private
Integer
commentNumber
;
private
Integer
praiseNum
;
private
Integer
viewNumber
;
...
...
@@ -167,4 +169,20 @@ public class Blog {
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
public
Integer
getPriority
()
{
return
priority
;
}
public
void
setPriority
(
Integer
priority
)
{
this
.
priority
=
priority
;
}
public
Integer
getCategoryPriority
()
{
return
categoryPriority
;
}
public
void
setCategoryPriority
(
Integer
categoryPriority
)
{
this
.
categoryPriority
=
categoryPriority
;
}
}
app/src/main/java/cn/yunliyunwai/beyondclouds/data/model/Project.java
View file @
adf2e66b
...
...
@@ -14,6 +14,9 @@ public class Project {
private
String
cover
;
private
String
projectName
;
private
String
userNick
;
private
Integer
commentNumber
;
private
Integer
praiseNum
;
private
Integer
viewNumber
;
private
Date
createTime
;
}
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/common/RefreshableFragment.java
View file @
adf2e66b
...
...
@@ -57,6 +57,10 @@ public abstract class RefreshableFragment<T, VM extends PageableViewModel<T>> ex
}
}
public
CommonCategory
getCategory
()
{
return
category
;
}
@Override
protected
SwipeRefreshListBinding
initDataBinding
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
)
{
return
SwipeRefreshListBinding
.
inflate
(
inflater
,
container
,
false
);
...
...
@@ -65,8 +69,8 @@ public abstract class RefreshableFragment<T, VM extends PageableViewModel<T>> ex
@Override
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
this
.
recyclerViewAdapter
=
createAdapter
(
category
);
binding
.
recyclerView
.
setLayoutManager
(
new
LinearLayoutManager
(
requireContext
()));
recyclerViewAdapter
=
createAdapter
();
viewModel
.
getDataList
().
observe
(
this
,
new
Observer
<
List
<
T
>>()
{
@Override
public
void
onChanged
(
List
<
T
>
dataList
)
{
...
...
@@ -127,5 +131,5 @@ public abstract class RefreshableFragment<T, VM extends PageableViewModel<T>> ex
binding
.
recyclerView
.
scrollToPosition
(
0
);
}
protected
abstract
BaseQuickAdapter
<
T
,
BaseViewHolder
>
createAdapter
();
protected
abstract
BaseQuickAdapter
<
T
,
BaseViewHolder
>
createAdapter
(
CommonCategory
category
);
}
\ No newline at end of file
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/DynamicFragment.java
View file @
adf2e66b
...
...
@@ -21,6 +21,7 @@ import javax.inject.Inject;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.adapter.DynamicListRecyclerViewAdapter
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.data.model.Post
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentDynamicBinding
;
import
cn.yunliyunwai.beyondclouds.ui.common.FragmentFactory
;
...
...
@@ -103,8 +104,8 @@ public class DynamicFragment extends BaseFragment<DynamicFragmentViewModel, Frag
}
@Override
protected
BaseQuickAdapter
<
Post
,
BaseViewHolder
>
createAdapter
()
{
return
new
DynamicListRecyclerViewAdapter
(
R
.
layout
.
post_item
);
protected
BaseQuickAdapter
<
Post
,
BaseViewHolder
>
createAdapter
(
CommonCategory
category
)
{
return
new
DynamicListRecyclerViewAdapter
(
R
.
layout
.
post_item
,
category
);
}
}
}
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/HomeFragment.java
View file @
adf2e66b
...
...
@@ -24,6 +24,7 @@ import cn.yunliyunwai.beyondclouds.R;
import
cn.yunliyunwai.beyondclouds.adapter.BlogListRecyclerViewAdapter
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.data.model.Blog
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentHomeBinding
;
import
cn.yunliyunwai.beyondclouds.ui.blog.BlogDetailActivity
;
import
cn.yunliyunwai.beyondclouds.ui.common.FragmentFactory
;
...
...
@@ -118,8 +119,8 @@ public class HomeFragment extends BaseFragment<HomeFragmentViewModel, FragmentHo
}
@Override
protected
BaseQuickAdapter
<
Blog
,
BaseViewHolder
>
createAdapter
()
{
BlogListRecyclerViewAdapter
adapter
=
new
BlogListRecyclerViewAdapter
(
R
.
layout
.
blog_item
);
protected
BaseQuickAdapter
<
Blog
,
BaseViewHolder
>
createAdapter
(
CommonCategory
category
)
{
BlogListRecyclerViewAdapter
adapter
=
new
BlogListRecyclerViewAdapter
(
R
.
layout
.
blog_item
,
category
);
adapter
.
setOnItemClickListener
(
new
BaseQuickAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
BaseQuickAdapter
baseQuickAdapter
,
View
view
,
int
i
)
{
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/ProjectFragment.java
View file @
adf2e66b
...
...
@@ -21,6 +21,7 @@ import cn.yunliyunwai.beyondclouds.BeyondApplication;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.adapter.ProjectListRecyclerViewAdapter
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.data.model.Project
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentProjectBinding
;
import
cn.yunliyunwai.beyondclouds.ui.common.FragmentFactory
;
...
...
@@ -102,8 +103,8 @@ public class ProjectFragment extends BaseFragment<ProjectFragmentViewModel, Frag
}
@Override
protected
BaseQuickAdapter
<
Project
,
BaseViewHolder
>
createAdapter
()
{
return
new
ProjectListRecyclerViewAdapter
(
R
.
layout
.
project_item
);
protected
BaseQuickAdapter
<
Project
,
BaseViewHolder
>
createAdapter
(
CommonCategory
category
)
{
return
new
ProjectListRecyclerViewAdapter
(
R
.
layout
.
project_item
,
category
);
}
}
}
app/src/main/java/cn/yunliyunwai/beyondclouds/ui/main/QAFragment.java
View file @
adf2e66b
...
...
@@ -19,6 +19,7 @@ import javax.inject.Inject;
import
cn.yunliyunwai.beyondclouds.R
;
import
cn.yunliyunwai.beyondclouds.adapter.QuestionListRecyclerViewAdapter
;
import
cn.yunliyunwai.beyondclouds.base.BaseFragment
;
import
cn.yunliyunwai.beyondclouds.data.model.CommonCategory
;
import
cn.yunliyunwai.beyondclouds.data.model.Question
;
import
cn.yunliyunwai.beyondclouds.databinding.FragmentQaBinding
;
import
cn.yunliyunwai.beyondclouds.ui.common.FragmentFactory
;
...
...
@@ -89,8 +90,8 @@ public class QAFragment extends BaseFragment<QAFragmentViewModel, FragmentQaBind
ViewModelProvider
.
Factory
factory
;
@Override
protected
BaseQuickAdapter
<
Question
,
BaseViewHolder
>
createAdapter
()
{
return
new
QuestionListRecyclerViewAdapter
(
R
.
layout
.
question_item
);
protected
BaseQuickAdapter
<
Question
,
BaseViewHolder
>
createAdapter
(
CommonCategory
category
)
{
return
new
QuestionListRecyclerViewAdapter
(
R
.
layout
.
question_item
,
category
);
}
@Override
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/util/DateUtils.java
View file @
adf2e66b
...
...
@@ -63,7 +63,7 @@ public class DateUtils {
}
else
if
(
hourDiff
!=
0
)
{
number
=
Math
.
abs
(
hourDiff
);
prefix
=
PREFIX_HOUR
;
suffix
=
hourDiff
>
0
?
SUFFIX_
AFTER
:
SUFFIX_BEFORE
;
suffix
=
hourDiff
>
0
?
SUFFIX_
BEFORE
:
SUFFIX_AFTER
;
}
else
if
(
minuteDiff
!=
0
)
{
number
=
Math
.
abs
(
minuteDiff
);
...
...
app/src/main/java/cn/yunliyunwai/beyondclouds/util/RetrofitServiceGenerator.java
View file @
adf2e66b
...
...
@@ -13,7 +13,7 @@ public class RetrofitServiceGenerator {
.
writeTimeout
(
20
,
TimeUnit
.
SECONDS
).
build
();
return
new
Retrofit
.
Builder
()
.
client
(
okHttpClient
)
.
baseUrl
(
"http
://www.baidu.com
"
)
.
baseUrl
(
"http
s://www.yunliyunwai.cn
"
)
.
build
().
create
(
serviceClass
);
}
}
app/src/main/res/drawable/background_icon_praise.xml
0 → 100644
View file @
adf2e66b
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<solid
android:color=
"#ff7474"
/>
<corners
android:radius=
"2dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/activity_blog_detail.xml
View file @
adf2e66b
...
...
@@ -33,6 +33,7 @@
android:paddingLeft=
"12dp"
android:paddingEnd=
"12dp"
android:paddingRight=
"12dp"
android:paddingBottom=
"20dp"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<LinearLayout
...
...
app/src/main/res/layout/blog_item.xml
View file @
adf2e66b
...
...
@@ -17,22 +17,36 @@
android:layout_height=
"22dp"
android:text=
"SpringBoot迭代发布JRA瘦身配置"
android:textSize=
"16sp"
android:maxEms=
"1
8
"
android:maxEms=
"1
6
"
android:ellipsize=
"end"
android:maxLines=
"1"
android:textColor=
"@color/colorTextLevel3"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<
cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
<
TextView
android:id=
"@+id/icon_hot"
android:layout_marginStart=
"6dp"
android:layout_marginLeft=
"6dp"
android:textColor=
"@color/colorIconHot"
app:layout_constraintTop_toTopOf=
"@id/txt_title"
app:layout_constraintBottom_toBottomOf=
"@id/txt_title"
app:layout_constraintStart_toEndOf=
"@id/txt_title"
android:text=
"@string/icon_hot"
android:text=
"🔥"
android:textColor=
"#EEFDFDDF"
android:textSize=
"16dp"
android:gravity=
"center"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
android:id=
"@+id/icon_top"
android:layout_marginStart=
"5dp"
android:layout_marginLeft=
"6dp"
app:layout_constraintTop_toTopOf=
"@id/txt_title"
app:layout_constraintBottom_toBottomOf=
"@id/txt_title"
app:layout_constraintStart_toEndOf=
"@id/icon_hot"
android:textColor=
"@color/colorIconTop"
android:text=
"@string/icon_praise"
android:textSize=
"15dp"
android:gravity=
"center"
android:layout_width=
"wrap_content"
...
...
@@ -117,6 +131,70 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<LinearLayout
android:id=
"@+id/article_collect_info"
android:layout_marginTop=
"11dp"
app:layout_constraintTop_toBottomOf=
"@id/barrier_content"
app:layout_constraintStart_toEndOf=
"@id/txt_create_time"
android:layout_marginStart=
"20dp"
android:layout_marginLeft=
"20dp"
android:orientation=
"horizontal"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
>
<cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
android:layout_gravity=
"center_vertical"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:text=
"@string/icon_message"
/>
<TextView
android:id=
"@+id/txt_comment_number"
android:text=
"0"
android:layout_marginStart=
"2dp"
android:layout_marginLeft=
"2dp"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
android:layout_marginStart=
"12dp"
android:layout_marginLeft=
"12dp"
android:layout_gravity=
"center_vertical"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:text=
"@string/icon_heart"
/>
<TextView
android:id=
"@+id/txt_praise_number"
android:text=
"0"
android:layout_marginStart=
"2dp"
android:layout_marginLeft=
"2dp"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
android:layout_marginStart=
"12dp"
android:layout_marginLeft=
"12dp"
android:layout_gravity=
"center_vertical"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:text=
"@string/icon_eye"
/>
<TextView
android:id=
"@+id/txt_view_number"
android:text=
"0"
android:layout_marginStart=
"2dp"
android:layout_marginLeft=
"2dp"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
<androidx.constraintlayout.widget.Barrier
android:id=
"@+id/barrier_info"
...
...
app/src/main/res/layout/project_item.xml
View file @
adf2e66b
...
...
@@ -22,67 +22,38 @@
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<androidx.constraintlayout.widget.Barrier
android:id=
"@+id/barrier_title"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:barrierDirection=
"bottom"
app:constraint_referenced_ids=
"txt_title"
tools:layout_editor_absoluteX=
"12dp"
tools:layout_editor_absoluteY=
"16dp"
/>
<TextView
android:id=
"@+id/txt_abstract"
android:layout_marginTop=
"10dp"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:maxHeight=
"55dp"
android:textSize=
"12sp"
android:paddingEnd=
"10dp"
android:paddingRight=
"10dp"
android:text=
"我们所处的时代我们所处的时代我们所处的时代我们所处的时代我们所处的时代我们所处的时代我们所处的时代我们所处的时代"
app:layout_constraintTop_toBottomOf=
"@id/barrier_title"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/blog_cover"
/>
<ImageView
android:layout_marginTop=
"10dp"
android:id=
"@+id/blog_cover"
app:layout_constraintTop_toBottomOf=
"@id/barrier_title"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_width=
"82dp"
android:layout_height=
"55dp"
android:maxWidth=
"82dp"
android:maxHeight=
"55dp"
android:src=
"@drawable/pic1"
/>
<androidx.constraintlayout.widget.Barrier
android:id=
"@+id/barrier_content"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:barrierDirection=
"bottom"
app:constraint_referenced_ids=
"txt_abstract,blog_cover"
tools:layout_editor_absoluteX=
"12dp"
tools:layout_editor_absoluteY=
"16dp"
/>
android:id=
"@+id/icon_hot"
android:layout_marginStart=
"6dp"
android:layout_marginLeft=
"6dp"
app:layout_constraintTop_toTopOf=
"@id/txt_title"
app:layout_constraintBottom_toBottomOf=
"@id/txt_title"
app:layout_constraintStart_toEndOf=
"@id/txt_title"
android:text=
"🔥"
android:textColor=
"#EEFDFDDF"
android:textSize=
"16dp"
android:gravity=
"center"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<TextView
android:id=
"@+id/txt_author"
android:layout_marginTop=
"
10
dp"
android:layout_marginTop=
"
8
dp"
android:text=
"段启岩"
android:textSize=
"10sp"
android:textColor=
"@color/colorTextLevel5"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/
barrier_content
"
app:layout_constraintTop_toBottomOf=
"@id/
txt_title
"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<TextView
android:id=
"@+id/txt_dot"
android:text=
"·"
android:layout_marginTop=
"
10
dp"
android:layout_marginTop=
"
8
dp"
android:textSize=
"10sp"
android:textStyle=
"bold"
android:textColor=
"@color/colorTextLevel5"
app:layout_constraintTop_toBottomOf=
"@id/
barrier_content
"
app:layout_constraintTop_toBottomOf=
"@id/
txt_title
"
app:layout_constraintStart_toEndOf=
"@id/txt_author"
android:paddingStart=
"6dp"
android:paddingLeft=
"6dp"
...
...
@@ -92,15 +63,89 @@
android:layout_height=
"wrap_content"
/>
<TextView
android:id=
"@+id/txt_create_time"
android:layout_marginTop=
"
10
dp"
android:layout_marginTop=
"
8
dp"
android:textSize=
"10sp"
android:textColor=
"@color/colorTextLevel5"
android:text=
"2020-2-18 10:24:00"
app:layout_constraintTop_toBottomOf=
"@id/
barrier_content
"
app:layout_constraintTop_toBottomOf=
"@id/
txt_title
"
app:layout_constraintStart_toEndOf=
"@id/txt_dot"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<LinearLayout
android:id=
"@+id/article_collect_info"
android:layout_marginTop=
"8dp"
app:layout_constraintTop_toBottomOf=
"@id/txt_title"
app:layout_constraintStart_toEndOf=
"@id/txt_create_time"
android:layout_marginStart=
"16dp"
android:layout_marginLeft=
"16dp"
android:orientation=
"horizontal"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
>
<cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
android:layout_gravity=
"center_vertical"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:text=
"@string/icon_message"
/>
<TextView
android:id=
"@+id/txt_comment_number"
android:text=
"0"
android:layout_marginStart=
"2dp"
android:layout_marginLeft=
"2dp"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
android:layout_marginStart=
"12dp"
android:layout_marginLeft=
"12dp"
android:layout_gravity=
"center_vertical"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:text=
"@string/icon_heart"
/>
<TextView
android:id=
"@+id/txt_praise_number"
android:text=
"0"
android:layout_marginStart=
"2dp"
android:layout_marginLeft=
"2dp"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<cn.yunliyunwai.beyondclouds.view.BeyondTextIcon
android:layout_marginStart=
"12dp"
android:layout_marginLeft=
"12dp"
android:layout_gravity=
"center_vertical"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:text=
"@string/icon_eye"
/>
<TextView
android:id=
"@+id/txt_view_number"
android:text=
"0"
android:layout_marginStart=
"2dp"
android:layout_marginLeft=
"2dp"
android:textSize=
"10dp"
android:textColor=
"#cccccc"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
<ImageView
android:layout_marginTop=
"5dp"
android:id=
"@+id/blog_cover"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_width=
"38dp"
android:layout_height=
"38dp"
android:src=
"@drawable/placeholder_square"
/>
<androidx.constraintlayout.widget.Barrier
android:id=
"@+id/barrier_info"
...
...
app/src/main/res/layout/question_item.xml
View file @
adf2e66b
...
...
@@ -28,12 +28,12 @@
android:id=
"@+id/icon_hot"
android:layout_marginStart=
"6dp"
android:layout_marginLeft=
"6dp"
android:textColor=
"@color/colorIconHot"
android:text=
"🔥"
android:textColor=
"#EEFDFDDF"
app:layout_constraintTop_toTopOf=
"@id/txt_title"
app:layout_constraintBottom_toBottomOf=
"@id/txt_title"
app:layout_constraintStart_toEndOf=
"@id/txt_title"
android:text=
"@string/icon_hot"
android:textSize=
"15dp"
android:textSize=
"16dp"
android:gravity=
"center"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
...
...
app/src/main/res/values/colors.xml
View file @
adf2e66b
...
...
@@ -18,6 +18,7 @@
<color
name=
"colorTextLevel6"
>
#bec7cb
</color>
<color
name=
"colorIconHot"
>
#ff7474
</color>
<color
name=
"colorIconTop"
>
#F17611
</color>
<color
name=
"colorUnFollowed"
>
#75d098
</color>
<color
name=
"colorFollowed"
>
#999999
</color>
...
...
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