Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
820e7f59
Commit
820e7f59
authored
Apr 20, 2022
by
霍志良
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:发布动态UI
parent
ae7d6776
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
575 additions
and
367 deletions
+575
-367
TrendsAndQuestionDialog.kt
m-dynamic/src/main/java/com/yidianling/dynamic/dialog/TrendsAndQuestionDialog.kt
+44
-0
TrendsQuestionListener.kt
m-dynamic/src/main/java/com/yidianling/dynamic/dialog/listener/TrendsQuestionListener.kt
+7
-0
TrendsHomeFragment.kt
m-dynamic/src/main/java/com/yidianling/dynamic/trendsHome/TrendsHomeFragment.kt
+407
-367
dynamic_publish_question.png
m-dynamic/src/main/res/drawable-xhdpi/dynamic_publish_question.png
+0
-0
dynamic_publish_right_icon.png
m-dynamic/src/main/res/drawable-xhdpi/dynamic_publish_right_icon.png
+0
-0
dynamic_publish_trends.png
m-dynamic/src/main/res/drawable-xhdpi/dynamic_publish_trends.png
+0
-0
dynamic_publish_trends_question_background.xml
m-dynamic/src/main/res/drawable/dynamic_publish_trends_question_background.xml
+8
-0
dynamic_question_and_trends_dialog_layout.xml
m-dynamic/src/main/res/layout/dynamic_question_and_trends_dialog_layout.xml
+109
-0
No files found.
m-dynamic/src/main/java/com/yidianling/dynamic/dialog/TrendsAndQuestionDialog.kt
0 → 100644
View file @
820e7f59
package
com.yidianling.dynamic.dialog
import
android.app.Dialog
import
android.content.Context
import
android.os.Bundle
import
android.view.Gravity
import
android.view.WindowManager
import
com.yidianling.dynamic.R
import
com.yidianling.dynamic.dialog.listener.CancelFocusDialogListener
import
com.yidianling.dynamic.dialog.listener.TrendsQuestionListener
import
kotlinx.android.synthetic.main.dynamic_cancel_focus_dialog_layout.*
import
kotlinx.android.synthetic.main.dynamic_cancel_focus_dialog_layout.cancel_focus_dialog_cancel
import
kotlinx.android.synthetic.main.dynamic_question_and_trends_dialog_layout.*
/**
* Created by xj on 2019/9/25.
*/
class
TrendsAndQuestionDialog
(
val
mContext
:
Context
,
val
listener
:
TrendsQuestionListener
):
Dialog
(
mContext
,
R
.
style
.
dialog_default_style
)
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
dynamic_question_and_trends_dialog_layout
)
val
params
=
window
.
attributes
params
.
width
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
params
.
height
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
window
.
attributes
=
params
window
.
setGravity
(
Gravity
.
BOTTOM
)
ll_publish_trends
.
setOnClickListener
{
listener
.
publishTrends
()
hide
()
}
cancel_focus_dialog_sure
.
setOnClickListener
{
listener
.
publishQuestion
()
hide
()
}
}
}
\ No newline at end of file
m-dynamic/src/main/java/com/yidianling/dynamic/dialog/listener/TrendsQuestionListener.kt
0 → 100644
View file @
820e7f59
package
com.yidianling.dynamic.dialog.listener
interface
TrendsQuestionListener
{
fun
publishTrends
()
//发布动态
fun
publishQuestion
()
//提问题
}
\ No newline at end of file
m-dynamic/src/main/java/com/yidianling/dynamic/trendsHome/TrendsHomeFragment.kt
View file @
820e7f59
package
com.yidianling.dynamic.trendsHome;
import
android.content.Intent;
import
android.os.Build;
import
android.os.Bundle;
import
android.os.Handler;
import
androidx.constraintlayout.widget.ConstraintLayout;
import
com.google.android.material.appbar.AppBarLayout;
import
com.google.android.material.appbar.CollapsingToolbarLayout;
import
com.google.android.material.floatingactionbutton.FloatingActionButton;
import
androidx.fragment.app.Fragment;
import
androidx.viewpager.widget.ViewPager;
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import
androidx.appcompat.widget.Toolbar;
import
android.view.View;
import
android.widget.FrameLayout;
import
android.widget.ImageView;
import
android.widget.TextView;
import
com.alibaba.android.arouter.facade.annotation.Route;
import
com.ydl.ydl_image.module.GlideApp;
import
com.ydl.ydlcommon.base.BaseFragment;
import
com.ydl.ydlcommon.utils.BuryPointUtils;
import
com.ydl.ydlcommon.utils.LogUtil;
import
com.ydl.ydlcommon.utils.ScreenUtil;
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils;
import
com.yidianling.common.tools.RxDeviceTool;
import
com.yidianling.common.tools.RxImageTool;
import
com.yidianling.dynamic.R;
import
com.yidianling.dynamic.R2;
import
com.yidianling.dynamic.bean.DynamicConstants;
import
com.yidianling.dynamic.common.view.LooperTextView;
import
com.yidianling.dynamic.model.TopicListDataBean;
import
com.yidianling.dynamic.model.TrendsListBean;
import
com.yidianling.dynamic.publishTrend.PublishTrendActivity;
import
com.yidianling.dynamic.router.DynamicIn;
import
com.yidianling.dynamic.topic.AllTopicActivity;
import
com.yidianling.dynamic.topic.topicDetail.TopicDetailActivity;
import
com.yidianling.dynamic.trendsHome.content.TrendsContentListFragment;
import
com.yidianling.dynamic.trendsHome.view.TrendsHomeBannerView;
import
java.util.List;
import
butterknife.BindView;
import
butterknife.ButterKnife;
import
butterknife.OnClick;
import
butterknife.Unbinder;
import
jp.wasabeef.glide.transformations.RoundedCornersTransformation;
import
static
com
.
yidianling
.
dynamic
.
bean
.
DynamicConstants
.
YDL_USER_ASK_PAGE_STAY_VISIT
;
import
static
com
.
yidianling
.
dynamic
.
bean
.
DynamicConstants
.
YDL_USER_ASK_PAGE_VISIT
;
import
static
com
.
yidianling
.
dynamic
.
bean
.
DynamicConstants
.
YDL_USER_ASK_QUESTIONS_BUTTON_CLICK
;
import
static
com
.
yidianling
.
dynamic
.
bean
.
DynamicConstants
.
YDL_USER_ASK_TYPE_CLICK
;
import
static
com
.
yidianling
.
dynamic
.
bean
.
DynamicConstants
.
YDL_USER_THOUGHTS_GROUP_MORE_CLICK
;
import
static
com
.
yidianling
.
dynamic
.
bean
.
DynamicConstants
.
YDL_USER_THOUGHTS_GROUP_TYPE_CLICK
;
package
com.yidianling.dynamic.trendsHome
import
android.content.Intent
import
android.os.Build
import
android.os.Bundle
import
android.os.Handler
import
android.view.View
import
android.widget.FrameLayout
import
android.widget.ImageView
import
android.widget.TextView
import
androidx.appcompat.widget.Toolbar
import
androidx.constraintlayout.widget.ConstraintLayout
import
androidx.fragment.app.Fragment
import
androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import
androidx.viewpager.widget.ViewPager
import
butterknife.BindView
import
butterknife.ButterKnife
import
butterknife.OnClick
import
butterknife.Unbinder
import
com.alibaba.android.arouter.facade.annotation.Route
import
com.google.android.material.appbar.AppBarLayout
import
com.google.android.material.appbar.CollapsingToolbarLayout
import
com.google.android.material.floatingactionbutton.FloatingActionButton
import
com.ydl.ydl_image.module.GlideApp
import
com.ydl.ydlcommon.base.BaseFragment
import
com.ydl.ydlcommon.utils.BuryPointUtils
import
com.ydl.ydlcommon.utils.ScreenUtil
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils.Companion.count
import
com.yidianling.common.tools.RxDeviceTool
import
com.yidianling.common.tools.RxImageTool
import
com.yidianling.dynamic.R
import
com.yidianling.dynamic.R2
import
com.yidianling.dynamic.bean.DynamicConstants
import
com.yidianling.dynamic.common.view.LooperTextView
import
com.yidianling.dynamic.model.TopicListDataBean
import
com.yidianling.dynamic.model.TrendsListBean
import
com.yidianling.dynamic.model.TrendsListBean.ExtData
import
com.yidianling.dynamic.publishTrend.PublishTrendActivity
import
com.yidianling.dynamic.router.DynamicIn.loginByOneKeyLogin
import
com.yidianling.dynamic.topic.AllTopicActivity
import
com.yidianling.dynamic.topic.topicDetail.TopicDetailActivity
import
com.yidianling.dynamic.trendsHome.content.TrendsContentListFragment
import
com.yidianling.dynamic.trendsHome.view.TrendsHomeBannerView
import
jp.wasabeef.glide.transformations.RoundedCornersTransformation
/**
* Created by Jim on 2017/9/22 0022.
* 首页问答fragment
*/
@Route
(
path
=
"/dynamic/dynamic"
)
public
class
TrendsHomeFragment
extends
BaseFragment
implements
ITrendHomeView
,
SwipeRefreshLayout
.
OnRefreshListener
{
class
TrendsHomeFragment
:
BaseFragment
(),
ITrendHomeView
,
SwipeRefreshLayout
.
OnRefreshListener
{
@JvmField
@BindView
(
R2
.
id
.
trend_home_swl
)
SwipeRefreshLayout
swl
;
var
swl
:
SwipeRefreshLayout
?
=
null
@JvmField
@BindView
(
R2
.
id
.
vp_content
)
ViewPager
vpContent
;
var
vpContent
:
ViewPager
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_topic_iv1
)
ImageView
topicRoundIv1
;
var
topicRoundIv1
:
ImageView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_topic_iv2
)
ImageView
topicRoundIv2
;
var
topicRoundIv2
:
ImageView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_topic_iv3
)
ImageView
topicRoundIv3
;
var
topicRoundIv3
:
ImageView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_home_csl
)
ConstraintLayout
mConstraintLayout
;
var
mConstraintLayout
:
ConstraintLayout
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_tv_mind_group
)
TextView
tvMindGroup
;
var
tvMindGroup
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_tv_mind_more
)
TextView
tvMindMore
;
var
tvMindMore
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
frl_topic_iv3
)
FrameLayout
frlTopicIv3
;
var
frlTopicIv3
:
FrameLayout
?
=
null
@JvmField
@BindView
(
R2
.
id
.
frl_topic_iv2
)
FrameLayout
frlTopicIv2
;
var
frlTopicIv2
:
FrameLayout
?
=
null
@JvmField
@BindView
(
R2
.
id
.
frl_topic_iv1
)
FrameLayout
frlTopicIv1
;
var
frlTopicIv1
:
FrameLayout
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_home_appBar
)
AppBarLayout
mAppBarLayout
;
var
mAppBarLayout
:
AppBarLayout
?
=
null
@JvmField
@BindView
(
R2
.
id
.
item_recommend_tv
)
TextView
mItemRecommendTv
;
var
mItemRecommendTv
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
item_hot_tv
)
TextView
mItemHotTv
;
var
mItemHotTv
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
item_focus_tv
)
TextView
mItemFocusTv
;
var
mItemFocusTv
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_topic_tv3
)
TextView
trendsTopicTv3
;
var
trendsTopicTv3
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_topic_tv2
)
TextView
trendsTopicTv2
;
var
trendsTopicTv2
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
trends_topic_tv1
)
TextView
trendsTopicTv1
;
var
trendsTopicTv1
:
TextView
?
=
null
@JvmField
@BindView
(
R2
.
id
.
publish_trend_btn
)
FloatingActionButton
mPublishTrendButton
;
var
mPublishTrendButton
:
FloatingActionButton
?
=
null
@JvmField
@BindView
(
R2
.
id
.
ternd_loop_tv
)
LooperTextView
mLooperTextView
;
@BindView
(
R2
.
id
.
toolbar_tv
)
Toolbar
mToolBarTv
;
@BindView
(
R2
.
id
.
v_banner
)
TrendsHomeBannerView
v_banner
;
private
Unbinder
mUnbinder
;
private
TrendsHomePresenter
mPresenter
;
private
Fragment
[]
mFragments
;
private
TrendsHomeVpAdapter
vpAdapter
;
private
long
lastTabClick
=
0
;
private
int
currentPostion
=
-
1
;
String
tab
;
private
long
startTime
;
private
long
endTime
;
var
mLooperTextView
:
LooperTextView
?
=
null
public
TrendsHomeFragment
setTab
(
String
tab
)
{
this
.
tab
=
tab
;
return
this
;
}
@JvmField
@BindView
(
R2
.
id
.
toolbar_tv
)
var
mToolBarTv
:
Toolbar
?
=
null
public
static
TrendsHomeFragment
newInstance
()
{
return
new
TrendsHomeFragment
();
@JvmField
@BindView
(
R2
.
id
.
v_banner
)
var
v_banner
:
TrendsHomeBannerView
?
=
null
private
var
mUnbinder
:
Unbinder
?
=
null
private
var
mPresenter
:
TrendsHomePresenter
?
=
null
private
lateinit
var
mFragments
:
Array
<
Fragment
>
private
var
vpAdapter
:
TrendsHomeVpAdapter
?
=
null
private
val
lastTabClick
:
Long
=
0
private
var
currentPostion
=
-
1
var
tab
:
String
?
=
null
private
var
startTime
:
Long
=
0
private
var
endTime
:
Long
=
0
fun
setTab
(
tab
:
String
?):
TrendsHomeFragment
{
this
.
tab
=
tab
return
this
}
@Override
public
int
layoutResId
()
{
return
R
.
layout
.
dynamic_fragment_moments
;
override
fun
layoutResId
():
Int
{
return
R
.
layout
.
dynamic_fragment_moments
}
@Override
public
void
initDataAndEvent
()
{
mUnbinder
=
ButterKnife
.
bind
(
this
,
getView
());
initViews
();
initDatas
();
override
fun
initDataAndEvent
()
{
mUnbinder
=
ButterKnife
.
bind
(
this
,
requireView
())
initViews
()
initDatas
()
}
@Override
public
void
initDataAndEventLazy
()
{
override
fun
initDataAndEventLazy
()
{
// initDatas();
}
private
void
initViews
()
{
initBannerView
();
swl
.
setOnRefreshListener
(
this
);
swl
.
setColorSchemeResources
(
R
.
color
.
platform_main_theme
);
mAppBarLayout
.
addOnOffsetChangedListener
(
new
AppBarLayout
.
OnOffsetChangedListener
()
{
@Override
public
void
onOffsetChanged
(
AppBarLayout
appBarLayout
,
int
verticalOffset
)
{
private
fun
initViews
()
{
initBannerView
()
swl
!!
.
setOnRefreshListener
(
this
)
swl
!!
.
setColorSchemeResources
(
R
.
color
.
platform_main_theme
)
mAppBarLayout
!!
.
addOnOffsetChangedListener
(
AppBarLayout
.
OnOffsetChangedListener
{
appBarLayout
,
verticalOffset
->
if
(
verticalOffset
==
0
)
{
swl
.
setEnabled
(
true
);
swl
!!
.
isEnabled
=
true
}
else
{
swl
.
setEnabled
(
false
);
swl
!!
.
isEnabled
=
false
}
if
(
verticalOffset
<=
-
appBarLayout
.
getTotalScrollRange
()
+
mToolBarTv
.
getHeight
()
)
{
mToolBarTv
.
setAlpha
(
1f
);
if
(
verticalOffset
<=
-
appBarLayout
.
totalScrollRange
+
mToolBarTv
!!
.
height
)
{
mToolBarTv
!!
.
alpha
=
1f
}
else
{
mToolBarTv
.
setAlpha
(
0f
);
}
}
});
initStatus
();
}
private
void
initStatus
()
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
//4.4以下不支持状态栏变色
int
statusBarHeight
=
ScreenUtil
.
getStatusBarHeight
(
getActivity
());
CollapsingToolbarLayout
.
LayoutParams
layoutParams
=
(
CollapsingToolbarLayout
.
LayoutParams
)
mToolBarTv
.
getLayoutParams
();
layoutParams
.
height
=
(
int
)
(
getResources
().
getDimension
(
R
.
dimen
.
title_bar_height
)
+
statusBarHeight
);
mToolBarTv
.
setPadding
(
0
,
statusBarHeight
,
0
,
0
);
mToolBarTv
.
setLayoutParams
(
layoutParams
);
}
}
private
void
initDatas
()
{
mPresenter
=
new
TrendsHomePresenter
();
mPresenter
.
callBack
=
this
;
mPresenter
.
fetchDats
();
}
private
void
initBannerView
()
{
int
screenSize
=
RxDeviceTool
.
getScreenWidth
(
getActivity
());
int
topicRoundIv1Width
=
(
screenSize
-
RxImageTool
.
dip2px
(
31
))
*
2
/
3
;
int
topicRoundIv23Width
=
(
screenSize
-
RxImageTool
.
dip2px
(
31
))
/
3
;
int
topicRoundIv1Height
=
(
int
)
(
topicRoundIv1Width
/
1.5f
);
int
topicRoundIv23Height
=
(
int
)
((
topicRoundIv1Height
-
RxImageTool
.
dip2px
(
1
))
/
2f
);
ConstraintLayout
.
LayoutParams
params1
=
new
ConstraintLayout
.
LayoutParams
(
topicRoundIv1Width
,
topicRoundIv1Height
);
params1
.
topMargin
=
RxImageTool
.
dp2px
(
10
);
params1
.
leftMargin
=
RxImageTool
.
dp2px
(
15
);
params1
.
leftToRight
=
mConstraintLayout
.
getId
();
params1
.
topToBottom
=
tvMindGroup
.
getId
();
frlTopicIv1
.
setLayoutParams
(
params1
);
ConstraintLayout
.
LayoutParams
params2
=
new
ConstraintLayout
.
LayoutParams
(
topicRoundIv23Width
,
topicRoundIv23Height
);
params2
.
topMargin
=
RxImageTool
.
dp2px
(
10
);
params2
.
leftMargin
=
RxImageTool
.
dp2px
(
1
);
params2
.
leftToRight
=
frlTopicIv1
.
getId
();
params2
.
topToBottom
=
tvMindGroup
.
getId
();
frlTopicIv2
.
setLayoutParams
(
params2
);
ConstraintLayout
.
LayoutParams
params3
=
new
ConstraintLayout
.
LayoutParams
(
topicRoundIv23Width
,
topicRoundIv23Height
);
params3
.
topMargin
=
RxImageTool
.
dp2px
(
1
);
params3
.
leftMargin
=
RxImageTool
.
dp2px
(
1
);
params3
.
leftToRight
=
frlTopicIv1
.
getId
();
params3
.
topToBottom
=
frlTopicIv2
.
getId
();
frlTopicIv3
.
setLayoutParams
(
params3
);
}
@Override
public
void
setUserVisibleHint
(
boolean
isVisibleToUser
)
{
super
.
setUserVisibleHint
(
isVisibleToUser
);
if
(
isVisibleToUser
&&
isResumed
())
{
startTime
=
System
.
currentTimeMillis
();
ActionCountUtils
.
Companion
.
count
(
YDL_USER_ASK_PAGE_VISIT
);
mToolBarTv
!!
.
alpha
=
0f
}
})
initStatus
()
}
private
fun
initStatus
()
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
//4.4以下不支持状态栏变色
val
statusBarHeight
=
ScreenUtil
.
getStatusBarHeight
(
activity
)
val
layoutParams
=
mToolBarTv
!!
.
layoutParams
as
CollapsingToolbarLayout
.
LayoutParams
layoutParams
.
height
=
(
resources
.
getDimension
(
R
.
dimen
.
title_bar_height
)
+
statusBarHeight
).
toInt
()
mToolBarTv
!!
.
setPadding
(
0
,
statusBarHeight
,
0
,
0
)
mToolBarTv
!!
.
layoutParams
=
layoutParams
}
}
private
fun
initDatas
()
{
mPresenter
=
TrendsHomePresenter
()
mPresenter
!!
.
callBack
=
this
mPresenter
!!
.
fetchDats
()
}
private
fun
initBannerView
()
{
val
screenSize
=
RxDeviceTool
.
getScreenWidth
(
activity
)
val
topicRoundIv1Width
=
(
screenSize
-
RxImageTool
.
dip2px
(
31f
))
*
2
/
3
val
topicRoundIv23Width
=
(
screenSize
-
RxImageTool
.
dip2px
(
31f
))
/
3
val
topicRoundIv1Height
=
(
topicRoundIv1Width
/
1.5f
).
toInt
()
val
topicRoundIv23Height
=
((
topicRoundIv1Height
-
RxImageTool
.
dip2px
(
1f
))
/
2f
).
toInt
()
val
params1
=
ConstraintLayout
.
LayoutParams
(
topicRoundIv1Width
,
topicRoundIv1Height
)
params1
.
topMargin
=
RxImageTool
.
dp2px
(
10f
)
params1
.
leftMargin
=
RxImageTool
.
dp2px
(
15f
)
params1
.
leftToRight
=
mConstraintLayout
!!
.
id
params1
.
topToBottom
=
tvMindGroup
!!
.
id
frlTopicIv1
!!
.
layoutParams
=
params1
val
params2
=
ConstraintLayout
.
LayoutParams
(
topicRoundIv23Width
,
topicRoundIv23Height
)
params2
.
topMargin
=
RxImageTool
.
dp2px
(
10f
)
params2
.
leftMargin
=
RxImageTool
.
dp2px
(
1f
)
params2
.
leftToRight
=
frlTopicIv1
!!
.
id
params2
.
topToBottom
=
tvMindGroup
!!
.
id
frlTopicIv2
!!
.
layoutParams
=
params2
val
params3
=
ConstraintLayout
.
LayoutParams
(
topicRoundIv23Width
,
topicRoundIv23Height
)
params3
.
topMargin
=
RxImageTool
.
dp2px
(
1f
)
params3
.
leftMargin
=
RxImageTool
.
dp2px
(
1f
)
params3
.
leftToRight
=
frlTopicIv1
!!
.
id
params3
.
topToBottom
=
frlTopicIv2
!!
.
id
frlTopicIv3
!!
.
layoutParams
=
params3
}
override
fun
setUserVisibleHint
(
isVisibleToUser
:
Boolean
)
{
super
.
setUserVisibleHint
(
isVisibleToUser
)
if
(
isVisibleToUser
&&
isResumed
)
{
startTime
=
System
.
currentTimeMillis
()
count
(
DynamicConstants
.
YDL_USER_ASK_PAGE_VISIT
)
}
else
{
if
(
startTime
!=
0L
){
endTime
=
System
.
currentTimeMillis
();
ActionCountUtils
.
Companion
.
count
(
YDL_USER_ASK_PAGE_STAY_VISIT
,
String
.
valueOf
(
endTime
-
startTime
));
if
(
startTime
!=
0L
)
{
endTime
=
System
.
currentTimeMillis
()
count
(
DynamicConstants
.
YDL_USER_ASK_PAGE_STAY_VISIT
,
(
endTime
-
startTime
).
toString
()
)
}
}
if
(
isVisibleToUser
&&
isResumed
()
)
{
onResume
()
;
if
(
isVisibleToUser
&&
isResumed
)
{
onResume
()
}
}
private
void
initViewPager
()
{
vpAdapter
=
new
TrendsHomeVpAdapter
(
getChildFragmentManager
(),
mFragments
);
vpContent
.
setAdapter
(
vpAdapter
);
vpContent
.
setOffscreenPageLimit
(
1
);
vpContent
.
addOnPageChangeListener
(
new
ViewPager
.
OnPageChangeListener
()
{
@Override
public
void
onPageScrolled
(
int
position
,
float
positionOffset
,
int
positionOffsetPixels
)
{
private
fun
initViewPager
()
{
vpAdapter
=
TrendsHomeVpAdapter
(
childFragmentManager
,
mFragments
)
vpContent
!!
.
adapter
=
vpAdapter
vpContent
!!
.
offscreenPageLimit
=
1
vpContent
!!
.
addOnPageChangeListener
(
object
:
ViewPager
.
OnPageChangeListener
{
override
fun
onPageScrolled
(
position
:
Int
,
positionOffset
:
Float
,
positionOffsetPixels
:
Int
)
{
}
@Override
public
void
onPageSelected
(
int
position
)
{
override
fun
onPageSelected
(
position
:
Int
)
{
if
(
position
==
currentPostion
)
{
return
;
return
}
currentPostion
=
position
;
currentPostion
=
position
if
(
position
>=
1
)
{
vpContent
.
setOffscreenPageLimit
(
2
);
vpContent
!!
.
offscreenPageLimit
=
2
}
switchTab
(
position
);
switch
(
position
)
{
case
0
:
switchTab
(
position
)
when
(
position
)
{
0
->
{
BuryPointUtils
.
getInstance
().
createMap
()
.
put
(
"toptab_name"
,
"推荐"
)
.
burryPoint
(
"topTabClick"
);
BuryPointUtils
.
getInstance
().
trackViewScreen
(
getActivity
(),
"动态-推荐"
,
"com.cxzapp.yidianling.trends.trendList.TrendsListFragment"
);
break
;
case
1
:
.
burryPoint
(
"topTabClick"
)
BuryPointUtils
.
getInstance
().
trackViewScreen
(
activity
,
"动态-推荐"
,
"com.cxzapp.yidianling.trends.trendList.TrendsListFragment"
)
}
1
->
{
BuryPointUtils
.
getInstance
().
createMap
()
.
put
(
"toptab_name"
,
"最新"
)
.
burryPoint
(
"topTabClick"
);
BuryPointUtils
.
getInstance
().
trackViewScreen
(
getActivity
(),
"动态-最新"
,
"com.cxzapp.yidianling.trends.trendList.TrendsListFragment"
);
break
;
case
2
:
.
burryPoint
(
"topTabClick"
)
BuryPointUtils
.
getInstance
().
trackViewScreen
(
activity
,
"动态-最新"
,
"com.cxzapp.yidianling.trends.trendList.TrendsListFragment"
)
}
2
->
{
BuryPointUtils
.
getInstance
().
createMap
()
.
put
(
"toptab_name"
,
"关注"
)
.
burryPoint
(
"topTabClick"
);
if
(!
DynamicIn
.
INSTANCE
.
loginByOneKeyLogin
(
getActivity
(),
true
))
{
return
;
.
burryPoint
(
"topTabClick"
)
if
(!
loginByOneKeyLogin
(
activity
!!
,
true
))
{
return
}
BuryPointUtils
.
getInstance
().
trackViewScreen
(
getActivity
(),
"动态-关注"
,
"com.cxzapp.yidianling.trends.trendList.TrendsListFragment"
);
break
;
BuryPointUtils
.
getInstance
().
trackViewScreen
(
activity
,
"动态-关注"
,
"com.cxzapp.yidianling.trends.trendList.TrendsListFragment"
)
}
}
@Override
public
void
onPageScrollStateChanged
(
int
state
)
{
}
});
if
(
"hot"
.
equals
(
tab
))
{
vpContent
.
setCurrentItem
(
1
);
switchTab
(
1
);
}
else
if
(
"new"
.
equals
(
tab
))
{
vpContent
.
setCurrentItem
(
0
);
switchTab
(
0
);
override
fun
onPageScrollStateChanged
(
state
:
Int
)
{}
})
if
(
"hot"
==
tab
)
{
vpContent
!!
.
currentItem
=
1
switchTab
(
1
)
}
else
if
(
"new"
==
tab
)
{
vpContent
!!
.
currentItem
=
0
switchTab
(
0
)
}
else
{
vpContent
.
setCurrentItem
(
0
);
switchTab
(
0
);
}
}
private
void
switchTab
(
int
index
)
{
switch
(
index
)
{
case
0
:
mItemRecommendTv
.
setSelected
(
false
);
mItemRecommendTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
dynamic_text_666666
));
mItemFocusTv
.
setSelected
(
false
);
mItemFocusTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
dynamic_text_666666
));
mItemHotTv
.
setSelected
(
true
);
mItemHotTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
platform_but_text_color
));
break
;
case
1
:
mItemRecommendTv
.
setSelected
(
true
);
mItemRecommendTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
platform_but_text_color
));
mItemFocusTv
.
setSelected
(
false
);
mItemFocusTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
dynamic_text_666666
));
mItemHotTv
.
setSelected
(
false
);
mItemHotTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
dynamic_text_666666
));
break
;
case
2
:
mItemRecommendTv
.
setSelected
(
false
);
mItemRecommendTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
dynamic_text_666666
));
mItemFocusTv
.
setSelected
(
true
);
mItemFocusTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
platform_but_text_color
));
mItemHotTv
.
setSelected
(
false
);
mItemHotTv
.
setTextColor
(
getResources
().
getColor
(
R
.
color
.
dynamic_text_666666
));
break
;
}
}
@OnClick
({
R2
.
id
.
trends_tv_mind_more
,
R2
.
id
.
publish_trend_btn
,
R2
.
id
.
item_recommend_tv
,
R2
.
id
.
item_hot_tv
,
R2
.
id
.
item_focus_tv
})
public
void
doClick
(
View
view
)
{
if
(
view
.
getId
()
==
R
.
id
.
item_recommend_tv
)
{
ActionCountUtils
.
Companion
.
count
(
YDL_USER_ASK_TYPE_CLICK
,
"推荐"
);
vpContent
.
setCurrentItem
(
1
);
}
else
if
(
view
.
getId
()
==
R
.
id
.
item_hot_tv
)
{
ActionCountUtils
.
Companion
.
count
(
YDL_USER_ASK_TYPE_CLICK
,
"最新"
);
vpContent
.
setCurrentItem
(
0
);
}
else
if
(
view
.
getId
()
==
R
.
id
.
item_focus_tv
)
{
ActionCountUtils
.
Companion
.
count
(
YDL_USER_ASK_TYPE_CLICK
,
"关注"
);
vpContent
.
setCurrentItem
(
2
);
}
else
if
(
view
.
getId
()
==
R
.
id
.
publish_trend_btn
)
{
ActionCountUtils
.
Companion
.
count
(
YDL_USER_ASK_QUESTIONS_BUTTON_CLICK
);
if
(
DynamicIn
.
INSTANCE
.
loginByOneKeyLogin
(
getActivity
(),
true
))
{
Intent
intent
=
new
Intent
(
getActivity
().
getApplicationContext
(),
PublishTrendActivity
.
class
);
vpContent
!!
.
currentItem
=
0
switchTab
(
0
)
}
}
private
fun
switchTab
(
index
:
Int
)
{
when
(
index
)
{
0
->
{
mItemRecommendTv
!!
.
isSelected
=
false
mItemRecommendTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
dynamic_text_666666
))
mItemFocusTv
!!
.
isSelected
=
false
mItemFocusTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
dynamic_text_666666
))
mItemHotTv
!!
.
isSelected
=
true
mItemHotTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
platform_but_text_color
))
}
1
->
{
mItemRecommendTv
!!
.
isSelected
=
true
mItemRecommendTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
platform_but_text_color
))
mItemFocusTv
!!
.
isSelected
=
false
mItemFocusTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
dynamic_text_666666
))
mItemHotTv
!!
.
isSelected
=
false
mItemHotTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
dynamic_text_666666
))
}
2
->
{
mItemRecommendTv
!!
.
isSelected
=
false
mItemRecommendTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
dynamic_text_666666
))
mItemFocusTv
!!
.
isSelected
=
true
mItemFocusTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
platform_but_text_color
))
mItemHotTv
!!
.
isSelected
=
false
mItemHotTv
!!
.
setTextColor
(
resources
.
getColor
(
R
.
color
.
dynamic_text_666666
))
}
}
}
@OnClick
(
R2
.
id
.
trends_tv_mind_more
,
R2
.
id
.
publish_trend_btn
,
R2
.
id
.
item_recommend_tv
,
R2
.
id
.
item_hot_tv
,
R2
.
id
.
item_focus_tv
)
fun
doClick
(
view
:
View
)
{
if
(
view
.
id
==
R
.
id
.
item_recommend_tv
)
{
count
(
DynamicConstants
.
YDL_USER_ASK_TYPE_CLICK
,
"推荐"
)
vpContent
!!
.
currentItem
=
1
}
else
if
(
view
.
id
==
R
.
id
.
item_hot_tv
)
{
count
(
DynamicConstants
.
YDL_USER_ASK_TYPE_CLICK
,
"最新"
)
vpContent
!!
.
currentItem
=
0
}
else
if
(
view
.
id
==
R
.
id
.
item_focus_tv
)
{
count
(
DynamicConstants
.
YDL_USER_ASK_TYPE_CLICK
,
"关注"
)
vpContent
!!
.
currentItem
=
2
}
else
if
(
view
.
id
==
R
.
id
.
publish_trend_btn
)
{
//发布动态
count
(
DynamicConstants
.
YDL_USER_ASK_QUESTIONS_BUTTON_CLICK
)
if
(
loginByOneKeyLogin
(
requireActivity
(),
true
))
{
val
intent
=
Intent
(
requireActivity
().
applicationContext
,
PublishTrendActivity
::
class
.
java
)
//默认改为今日打卡
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
DynamicConstants
.
PUBLISH_TYPE
,
"topic_publish"
)
;
bundle
.
putString
(
"topic_id"
,
"44"
)
;
bundle
.
putString
(
"topic_title"
,
"今日打卡"
)
;
intent
.
putExtra
(
"bundle"
,
bundle
)
;
startActivity
(
intent
)
;
}
}
else
if
(
view
.
getId
()
==
R
.
id
.
trends_tv_mind_more
)
{
ActionCountUtils
.
Companion
.
count
(
YDL_USER_THOUGHTS_GROUP_MORE_CLICK
);
Intent
intent
=
new
Intent
(
getActivity
(),
AllTopicActivity
.
class
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
)
;
startActivity
(
intent
)
;
}
// else if (view.getId() == R.id.iv_background) {
val
bundle
=
Bundle
()
bundle
.
putString
(
DynamicConstants
.
PUBLISH_TYPE
,
"topic_publish"
)
bundle
.
putString
(
"topic_id"
,
"44"
)
bundle
.
putString
(
"topic_title"
,
"今日打卡"
)
intent
.
putExtra
(
"bundle"
,
bundle
)
startActivity
(
intent
)
}
}
else
if
(
view
.
id
==
R
.
id
.
trends_tv_mind_more
)
{
count
(
DynamicConstants
.
YDL_USER_THOUGHTS_GROUP_MORE_CLICK
)
val
intent
=
Intent
(
activity
,
AllTopicActivity
::
class
.
java
)
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
)
startActivity
(
intent
)
}
// else if (view.getId() == R.id.iv_background) {
// YDLRouterManager.Companion.router(IYDLRouterConstant.ROUTER_FM_LIST);
// }
}
@Override
public
void
onFetchedDatas
(
Fragment
[]
fragments
)
{
mFragments
=
fragments
;
initViewPager
();
}
public
void
setBannerData
(
List
<
TrendsListBean
.
Banner
>
list
)
{
v_banner
.
initData
(
list
);
}
@Override
public
void
onFetchedDataFailed
()
{
override
fun
onFetchedDatas
(
fragments
:
Array
<
Fragment
>)
{
mFragments
=
fragments
initViewPager
()
}
public
void
displayShowCase
()
{
fun
setBannerData
(
list
:
List
<
TrendsListBean
.
Banner
>)
{
v_banner
!!
.
initData
(
list
)
}
@Override
public
void
onDestroyView
()
{
super
.
onDestroyView
();
mUnbinder
.
unbind
();
override
fun
onFetchedDataFailed
()
{}
fun
displayShowCase
()
{}
override
fun
onDestroyView
()
{
super
.
onDestroyView
()
mUnbinder
!!
.
unbind
()
}
@Override
public
void
onRefresh
()
{
swl
.
setRefreshing
(
true
);
new
Handler
().
postDelayed
(
new
Runnable
()
{
@Override
public
void
run
()
{
((
TrendsContentListFragment
)
mFragments
[
vpContent
.
getCurrentItem
()]).
onRefresh
();
swl
.
setRefreshing
(
false
);
}
},
300
);
override
fun
onRefresh
()
{
swl
!!
.
isRefreshing
=
true
Handler
().
postDelayed
({
(
mFragments
[
vpContent
!!
.
currentItem
]
as
TrendsContentListFragment
).
onRefresh
()
swl
!!
.
isRefreshing
=
false
},
300
)
}
public
void
showMindsGroup
(
TopicListDataBean
topicListDatas
)
{
if
(
topicListDatas
.
list
==
null
||
topicListDatas
.
list
.
size
()
<=
0
)
{
return
;
fun
showMindsGroup
(
topicListDatas
:
TopicListDataBean
)
{
if
(
topicListDatas
.
list
==
null
||
topicListDatas
.
list
.
size
<=
0
)
{
return
}
for
(
int
i
=
0
;
i
<
3
&&
i
<
topicListDatas
.
list
.
size
();
i
++)
{
switch
(
i
)
{
case
0
:
var
i
=
0
while
(
i
<
3
&&
i
<
topicListDatas
.
list
.
size
)
{
when
(
i
)
{
0
->
{
GlideApp
.
with
(
this
)
.
load
(
topicListDatas
.
list
.
get
(
i
).
getImg_bg_url
()
)
.
load
(
topicListDatas
.
list
[
i
].
img_bg_url
)
.
centerCrop
()
.
transform
(
new
RoundedCornersTransformation
(
20
,
0
,
RoundedCornersTransformation
.
CornerType
.
LEFT
))
.
into
(
topicRoundIv1
);
trendsTopicTv1
.
setText
(
topicListDatas
.
list
.
get
(
i
).
getTopic_title
());
frlTopicIv1
.
setOnClickListener
(
view
->
{
mindTopicClick
(
topicListDatas
.
list
.
get
(
0
).
getTopic_title
(),
topicListDatas
.
list
.
get
(
0
).
getTopic_id
(),
trendsTopicTv1
.
getText
().
toString
());
});
break
;
case
1
:
.
transform
(
RoundedCornersTransformation
(
20
,
0
,
RoundedCornersTransformation
.
CornerType
.
LEFT
)
)
.
into
(
topicRoundIv1
!!
)
trendsTopicTv1
!!
.
text
=
topicListDatas
.
list
[
i
].
topic_title
frlTopicIv1
!!
.
setOnClickListener
{
view
:
View
?
->
mindTopicClick
(
topicListDatas
.
list
[
0
].
topic_title
,
topicListDatas
.
list
[
0
].
topic_id
,
trendsTopicTv1
!!
.
text
.
toString
()
)
}
}
1
->
{
GlideApp
.
with
(
this
)
.
load
(
topicListDatas
.
list
.
get
(
i
).
getImg_bg_url
()
)
.
load
(
topicListDatas
.
list
[
i
].
img_bg_url
)
.
centerCrop
()
.
transform
(
new
RoundedCornersTransformation
(
20
,
0
,
RoundedCornersTransformation
.
CornerType
.
TOP_RIGHT
))
.
into
(
topicRoundIv2
);
trendsTopicTv2
.
setText
(
topicListDatas
.
list
.
get
(
i
).
getTopic_title
());
frlTopicIv2
.
setOnClickListener
(
view
->
{
mindTopicClick
(
topicListDatas
.
list
.
get
(
1
).
getTopic_title
(),
topicListDatas
.
list
.
get
(
1
).
getTopic_id
(),
trendsTopicTv2
.
getText
().
toString
());
});
break
;
case
2
:
.
transform
(
RoundedCornersTransformation
(
20
,
0
,
RoundedCornersTransformation
.
CornerType
.
TOP_RIGHT
)
)
.
into
(
topicRoundIv2
!!
)
trendsTopicTv2
!!
.
text
=
topicListDatas
.
list
[
i
].
topic_title
frlTopicIv2
!!
.
setOnClickListener
{
view
:
View
?
->
mindTopicClick
(
topicListDatas
.
list
[
1
].
topic_title
,
topicListDatas
.
list
[
1
].
topic_id
,
trendsTopicTv2
!!
.
text
.
toString
()
)
}
}
2
->
{
GlideApp
.
with
(
this
)
.
load
(
topicListDatas
.
list
.
get
(
i
).
getImg_bg_url
()
)
.
load
(
topicListDatas
.
list
[
i
].
img_bg_url
)
.
centerCrop
()
.
transform
(
new
RoundedCornersTransformation
(
20
,
0
,
RoundedCornersTransformation
.
CornerType
.
BOTTOM_RIGHT
))
.
into
(
topicRoundIv3
);
trendsTopicTv3
.
setText
(
topicListDatas
.
list
.
get
(
i
).
getTopic_title
());
frlTopicIv3
.
setOnClickListener
(
view
->
{
mindTopicClick
(
topicListDatas
.
list
.
get
(
2
).
getTopic_title
(),
topicListDatas
.
list
.
get
(
2
).
getTopic_id
(),
trendsTopicTv3
.
getText
().
toString
());
});
break
;
.
transform
(
RoundedCornersTransformation
(
20
,
0
,
RoundedCornersTransformation
.
CornerType
.
BOTTOM_RIGHT
)
)
.
into
(
topicRoundIv3
!!
)
trendsTopicTv3
!!
.
text
=
topicListDatas
.
list
[
i
].
topic_title
frlTopicIv3
!!
.
setOnClickListener
{
view
:
View
?
->
mindTopicClick
(
topicListDatas
.
list
[
2
].
topic_title
,
topicListDatas
.
list
[
2
].
topic_id
,
trendsTopicTv3
!!
.
text
.
toString
()
)
}
}
}
i
++
}
}
private
void
mindTopicClick
(
String
title
,
String
id
,
String
imgName
)
{
private
fun
mindTopicClick
(
title
:
String
,
id
:
String
,
imgName
:
String
)
{
BuryPointUtils
.
getInstance
().
createMap
()
.
put
(
"theme_name"
,
title
)
.
put
(
"theme_ID"
,
id
)
.
burryPoint
(
"Theme_click"
);
ActionCountUtils
.
Companion
.
count
(
YDL_USER_THOUGHTS_GROUP_TYPE_CLICK
,
imgName
);
Intent
intent
=
new
Intent
();
intent
.
setClass
(
getActivity
(),
TopicDetailActivity
.
class
);
intent
.
putExtra
(
"topic_id"
,
id
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
getActivity
().
startActivity
(
intent
);
.
burryPoint
(
"Theme_click"
)
count
(
DynamicConstants
.
YDL_USER_THOUGHTS_GROUP_TYPE_CLICK
,
imgName
)
val
intent
=
Intent
()
intent
.
setClass
(
activity
,
TopicDetailActivity
::
class
.
java
)
intent
.
putExtra
(
"topic_id"
,
id
)
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
)
requireActivity
().
startActivity
(
intent
)
}
fun
showTopTrend
(
extDatas
:
List
<
ExtData
?>?)
{
mLooperTextView
!!
.
setTipList
(
extDatas
)
}
fun
setGoneLooperTextView
()
{
mLooperTextView
!!
.
visibility
=
View
.
GONE
}
public
void
showTopTrend
(
List
<
TrendsListBean
.
ExtData
>
extDatas
)
{
mLooperTextView
.
setTipList
(
extDatas
);
companion
object
{
fun
newInstance
():
TrendsHomeFragment
{
return
TrendsHomeFragment
()
}
public
void
setGoneLooperTextView
()
{
mLooperTextView
.
setVisibility
(
View
.
GONE
);
}
}
\ No newline at end of file
m-dynamic/src/main/res/drawable-xhdpi/dynamic_publish_question.png
0 → 100644
View file @
820e7f59
18.8 KB
m-dynamic/src/main/res/drawable-xhdpi/dynamic_publish_right_icon.png
0 → 100644
View file @
820e7f59
578 Bytes
m-dynamic/src/main/res/drawable-xhdpi/dynamic_publish_trends.png
0 → 100644
View file @
820e7f59
20.7 KB
m-dynamic/src/main/res/drawable/dynamic_publish_trends_question_background.xml
0 → 100644
View file @
820e7f59
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:topLeftRadius=
"@dimen/platform_dp_10"
android:topRightRadius=
"@dimen/platform_dp_10"
/>
<solid
android:color=
"@color/white"
/>
</shape>
\ No newline at end of file
m-dynamic/src/main/res/layout/dynamic_question_and_trends_dialog_layout.xml
0 → 100644
View file @
820e7f59
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"232dp"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:background=
"@drawable/dynamic_publish_trends_question_background"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/publish_close"
android:src=
"@drawable/picture_icon_close"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
android:layout_marginTop=
"@dimen/platform_dp_16"
android:layout_marginEnd=
"@dimen/platform_dp_10"
android:padding=
"@dimen/platform_dp_5"
android:tint=
"#afb1bc"
tools:ignore=
"UseAppTint"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"你的感受我在乎"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/publish_close"
android:layout_marginTop=
"@dimen/platform_dp_16"
android:id=
"@+id/publish_title"
android:textColor=
"#afb1bc"
android:textSize=
"@dimen/platform_sp_16"
/>
<LinearLayout
android:id=
"@+id/ll_publish_trends"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/dynamic_publish_trends"
app:layout_constraintTop_toBottomOf=
"@id/publish_title"
android:layout_marginTop=
"@dimen/platform_dp_16"
app:layout_constraintStart_toStartOf=
"parent"
android:layout_marginStart=
"@dimen/platform_dp_16"
android:orientation=
"vertical"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"发动态"
android:textSize=
"@dimen/dynamic_text_size_18"
android:textStyle=
"bold"
android:textColor=
"@color/white"
android:includeFontPadding=
"false"
android:drawableRight=
"@drawable/dynamic_publish_right_icon"
android:layout_marginStart=
"@dimen/platform_dp_12"
android:layout_marginTop=
"@dimen/platform_dp_12"
android:drawablePadding=
"@dimen/platform_dp_5"
>
</TextView>
<TextView
android:layout_width=
"80dp"
android:layout_height=
"wrap_content"
android:text=
"这一刻你的真实想法"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dynamic_text_size_12"
android:layout_marginStart=
"@dimen/platform_dp_12"
android:layout_marginTop=
"@dimen/platform_dp_3"
>
</TextView>
</LinearLayout>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/ll_publish_question"
android:orientation=
"vertical"
android:background=
"@drawable/dynamic_publish_question"
app:layout_constraintTop_toBottomOf=
"@id/publish_title"
android:layout_marginTop=
"@dimen/platform_dp_16"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginEnd=
"@dimen/platform_dp_16"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"提问题"
android:textSize=
"@dimen/dynamic_text_size_18"
android:textStyle=
"bold"
android:textColor=
"@color/white"
android:includeFontPadding=
"false"
android:drawableRight=
"@drawable/dynamic_publish_right_icon"
android:layout_marginStart=
"@dimen/platform_dp_12"
android:layout_marginTop=
"@dimen/platform_dp_12"
android:drawablePadding=
"@dimen/platform_dp_5"
>
</TextView>
<TextView
android:layout_width=
"80dp"
android:layout_height=
"wrap_content"
android:text=
"数万心理师为您答疑解惑"
android:textColor=
"@color/white"
android:textSize=
"@dimen/dynamic_text_size_12"
android:layout_marginStart=
"@dimen/platform_dp_12"
android:layout_marginTop=
"@dimen/platform_dp_3"
>
</TextView>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
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