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
68c8a4b9
Commit
68c8a4b9
authored
Jun 22, 2022
by
刘鹏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feat/fq/confide_search' into 'd/v4.3.98'
Feat/fq/confide search See merge request app_android_lib/YDL-Component!173
parents
eed8bfcc
96588987
Show whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
622 additions
and
27 deletions
+622
-27
config.gradle
config.gradle
+2
-2
AndroidManifest.xml
m-confide/src/main/AndroidManifest.xml
+2
-0
ConfideHomeActivity.kt
m-confide/src/main/java/com/ydl/confide/home/ConfideHomeActivity.kt
+78
-2
ConfideSearchActivity.kt
m-confide/src/main/java/com/ydl/confide/home/ConfideSearchActivity.kt
+86
-0
ConfideHomeAdapter.kt
m-confide/src/main/java/com/ydl/confide/home/adapter/ConfideHomeAdapter.kt
+82
-11
ConfideHomeAllFiltersBean.kt
m-confide/src/main/java/com/ydl/confide/home/bean/ConfideHomeAllFiltersBean.kt
+5
-0
ConfideHomeDataBean.kt
m-confide/src/main/java/com/ydl/confide/home/bean/ConfideHomeDataBean.kt
+4
-2
IConfideHomeConfig.kt
m-confide/src/main/java/com/ydl/confide/home/config/IConfideHomeConfig.kt
+4
-0
FinalString.java
m-confide/src/main/java/com/ydl/confide/home/constants/FinalString.java
+5
-0
ConfideHomeHttpImpl.kt
m-confide/src/main/java/com/ydl/confide/home/http/ConfideHomeHttpImpl.kt
+1
-0
ConfideRecommendParam.kt
m-confide/src/main/java/com/ydl/confide/home/http/ConfideRecommendParam.kt
+16
-0
ConfideHomeRecycleViewListener.kt
m-confide/src/main/java/com/ydl/confide/home/listener/ConfideHomeRecycleViewListener.kt
+1
-1
ConfideHomeRecyleSuspendListener.kt
m-confide/src/main/java/com/ydl/confide/home/listener/ConfideHomeRecyleSuspendListener.kt
+56
-7
ConfideHomeSexAgePopupWindow.kt
m-confide/src/main/java/com/ydl/confide/home/popwindow/ConfideHomeSexAgePopupWindow.kt
+1
-1
ConfideHomeUtils.kt
m-confide/src/main/java/com/ydl/confide/home/util/ConfideHomeUtils.kt
+4
-0
confide_icon_input_search.png
m-confide/src/main/res/drawable-xxhdpi/confide_icon_input_search.png
+0
-0
confide_bg_hot_search_input.xml
m-confide/src/main/res/drawable/confide_bg_hot_search_input.xml
+9
-0
confide_edit_cursor_drawable.xml
m-confide/src/main/res/drawable/confide_edit_cursor_drawable.xml
+8
-0
confide_empty_layout.xml
m-confide/src/main/res/layout/confide_empty_layout.xml
+37
-0
confide_home_activity.xml
m-confide/src/main/res/layout/confide_home_activity.xml
+66
-1
confide_home_search_header.xml
m-confide/src/main/res/layout/confide_home_search_header.xml
+63
-0
confide_search_activity.xml
m-confide/src/main/res/layout/confide_search_activity.xml
+92
-0
No files found.
config.gradle
View file @
68c8a4b9
...
...
@@ -5,7 +5,7 @@ ext {
ydlPublishVersion
=
[
// -------------- 业务模块 --------------
//第三步 若干
"m-confide"
:
"0.0.50.3
5
"
,
"m-confide"
:
"0.0.50.3
7
"
,
"m-consultant"
:
"0.0.60.68"
,
"m-fm"
:
"0.0.30.09"
,
"m-user"
:
"0.0.62.54"
,
...
...
@@ -92,7 +92,7 @@ ext {
ydlCompileVersion
=
[
// -------------- 业务模块 --------------
//第三步 若干
"m-confide"
:
"0.0.50.3
5
"
,
"m-confide"
:
"0.0.50.3
7
"
,
"m-consultant"
:
"0.0.60.68"
,
"m-fm"
:
"0.0.30.09"
,
"m-user"
:
"0.0.62.54"
,
...
...
m-confide/src/main/AndroidManifest.xml
View file @
68c8a4b9
...
...
@@ -9,5 +9,7 @@
<activity
android:name=
".intro.ExpertIntroActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".home.ConfideSearchActivity"
android:screenOrientation=
"portrait"
/>
</application>
</manifest>
m-confide/src/main/java/com/ydl/confide/home/ConfideHomeActivity.kt
View file @
68c8a4b9
...
...
@@ -2,12 +2,15 @@ package com.ydl.confide.home
import
android.annotation.SuppressLint
import
android.content.Context
import
android.content.Intent
import
android.graphics.Color
import
android.net.Uri
import
android.os.Build
import
android.text.TextUtils
import
android.view.View
import
android.view.ViewGroup
import
android.view.WindowManager
import
android.widget.TextView
import
android.view.animation.AccelerateInterpolator
import
android.view.animation.DecelerateInterpolator
import
android.widget.ImageView
...
...
@@ -29,6 +32,8 @@ import com.ydl.confide.home.bean.ConfideHomeBodyBean
import
com.ydl.confide.home.bean.ConfideHomeDataBean
import
com.ydl.confide.home.bean.ConfideHomeFiterItemBean
import
com.ydl.confide.home.config.IConfideHomeConfig
import
com.ydl.confide.home.constants.FinalString
import
com.ydl.confide.home.constants.FinalString.SEARCH_REQUEST_CODE
import
com.ydl.confide.home.contract.IConfideHomeContract
import
com.ydl.confide.home.event.ConfideHomeEventImpl
import
com.ydl.confide.home.event.IConfideHomeEvent
...
...
@@ -127,6 +132,9 @@ class ConfideHomeActivity :
private
var
dp48
=
0
private
var
bottomSheetDialogFragment
:
ConfideBottomSheetDialogFragment
?
=
null
private
var
keyword
:
String
=
""
;
init
{
//初始化参数
initParam
()
...
...
@@ -136,6 +144,7 @@ class ConfideHomeActivity :
private
fun
initParam
()
{
allFiltersBean
=
ConfideHomeAllFiltersBean
(
page
,
""
,
ConfideHomeFiterItemBean
().
apply
{
id
=
"-1"
name
=
""
...
...
@@ -184,6 +193,7 @@ class ConfideHomeActivity :
//需要将当前列表已存在的老师uid数组发送到后端去重,因为排序实时变化
this
.
page
=
page
allFiltersBean
!!
.
page
=
page
allFiltersBean
!!
.
keywords
=
keyword
if
(
1
==
page
)
{
//显示加载中
showProgressDialog
()
...
...
@@ -249,7 +259,7 @@ class ConfideHomeActivity :
}
private
fun
showDoctorDetail
(
confideId
:
String
,
doctorId
:
String
)
{
val
url
=
HttpConfig
.
MH5_URL
+
ConfideRoute
.
h5ConfideIntro
(
confideId
)+
"&payPage=1"
val
url
=
HttpConfig
.
MH5_URL
+
ConfideRoute
.
h5ConfideIntro
(
confideId
)
+
"&payPage=1"
ConfideBottomSheetDialogFragment
()
.
showBottomSheetDialog
(
this
@ConfideHomeActivity
,
url
,
doctorId
)
}
...
...
@@ -314,8 +324,15 @@ class ConfideHomeActivity :
true
,
listenFree
=
listenFree
)
}
rl_search_head
.
setOnClickListener
{
var
intent
=
Intent
(
this
,
ConfideSearchActivity
::
class
.
java
)
if
(!
TextUtils
.
isEmpty
(
keyword
))
{
intent
.
putExtra
(
FinalString
.
CONFIDE_SEARCH_KEY_WORD
,
keyword
)
}
startActivityForResult
(
intent
,
SEARCH_REQUEST_CODE
)
}
}
...
...
@@ -387,6 +404,10 @@ class ConfideHomeActivity :
initParam
()
hideError
()
cacheList
?.
addAll
(
0
,
list
)
cacheList
?.
add
(
0
,
ConfideHomeDataBean
(
IConfideHomeConfig
.
TYPE_SEARCH
,
null
,
null
,
null
,
-
1
,
keyword
)
)
updateAdapter
()
setSuspendListener
()
v_filterView
.
refreshView
()
...
...
@@ -396,7 +417,7 @@ class ConfideHomeActivity :
* 设置筛选模块悬浮顶部监听数据
*/
private
fun
setSuspendListener
()
{
listSuspendListener
?.
setFilterView
(
v_filterView
,
vFilterLine
)
listSuspendListener
?.
setFilterView
(
v_filterView
,
rl_search_head
,
vFilterLine
)
listSuspendListener
?.
setSectionAdapter
(
mConfideAdapter
!!
)
}
...
...
@@ -405,6 +426,33 @@ class ConfideHomeActivity :
v_filterView
.
setHomeView
(
this
)
}
override
fun
onActivityResult
(
requestCode
:
Int
,
resultCode
:
Int
,
data
:
Intent
?)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
)
if
(
requestCode
==
SEARCH_REQUEST_CODE
&&
resultCode
==
RESULT_OK
)
{
val
keyWord
=
data
?.
getStringExtra
(
FinalString
.
CONFIDE_SEARCH_KEY_WORD
)
if
(
keyWord
!=
null
)
{
this
.
keyword
=
keyWord
page
=
1
allFiltersBean
=
ConfideHomeAllFiltersBean
(
page
,
""
,
ConfideHomeFiterItemBean
().
apply
{
id
=
"-1"
name
=
""
},
ConfideHomeFiterItemBean
().
apply
{
id
=
"-1"
name
=
""
},
ArrayList
(),
ArrayList
()
)
rl_search_head
.
findViewById
<
TextView
>(
R
.
id
.
etSearch
).
setText
(
keyword
)
onRefresh
()
}
}
}
/**
* 更新适配器数据
*/
...
...
@@ -471,6 +519,34 @@ class ConfideHomeActivity :
if
(
null
!=
soundBean
)
{
(
cacheList
as
ArrayList
).
add
(
soundBean
)
}
if
(
bean
?.
body
!=
null
&&
bean
?.
body
.
size
==
0
)
{
var
hasEmptyLayout
:
Boolean
=
false
for
(
index
in
(
0
..
(
cacheList
!!
.
size
-
1
)).
reversed
())
{
if
(
cacheList
!!
[
index
].
type
==
IConfideHomeConfig
.
TYPE_EMPTY
)
{
hasEmptyLayout
=
true
break
}
}
if
(!
hasEmptyLayout
)
{
cacheList
?.
add
(
ConfideHomeDataBean
(
IConfideHomeConfig
.
TYPE_EMPTY
,
null
,
null
,
null
,
-
1
)
)
}
}
else
{
for
(
index
in
(
0
..
(
cacheList
!!
.
size
-
1
)).
reversed
())
{
if
(
cacheList
!!
[
index
].
type
==
IConfideHomeConfig
.
TYPE_EMPTY
)
{
cacheList
!!
.
removeAt
(
index
)
}
}
}
listScrollListener
?.
moveToPosition
(
rv_list
)
}
...
...
m-confide/src/main/java/com/ydl/confide/home/ConfideSearchActivity.kt
0 → 100644
View file @
68c8a4b9
package
com.ydl.confide.home
import
android.content.Context
import
android.content.Intent
import
android.text.Editable
import
android.text.TextUtils
import
android.text.TextWatcher
import
android.view.View
import
android.view.WindowManager
import
android.view.inputmethod.EditorInfo
import
android.view.inputmethod.InputMethodManager
import
android.widget.TextView
import
com.ydl.confide.R
import
com.ydl.confide.home.constants.FinalString
import
com.ydl.ydlcommon.base.BaseActivity
import
com.ydl.ydlcommon.utils.actionutil.ActionCountUtils
import
kotlinx.android.synthetic.main.confide_search_activity.*
class
ConfideSearchActivity
:
BaseActivity
()
{
override
fun
initDataAndEvent
()
{
val
keyWord
=
intent
.
getStringExtra
(
FinalString
.
CONFIDE_SEARCH_KEY_WORD
)
if
(!
TextUtils
.
isEmpty
(
keyWord
)){
etSearch
?.
setText
(
keyWord
)
iv_delete_icon
.
visibility
=
View
.
VISIBLE
}
etSearch
.
setOnEditorActionListener
{
_
,
actionId
,
_
->
if
(
actionId
==
EditorInfo
.
IME_ACTION_SEARCH
)
{
val
keyword
=
etSearch
!!
.
text
.
trim
().
toString
()
//埋点
ActionCountUtils
.
record
(
"listen_counselor_list_page"
,
"listen_counselor_list_search_click"
,
keyword
)
val
intent
=
Intent
()
intent
.
putExtra
(
FinalString
.
CONFIDE_SEARCH_KEY_WORD
,
keyword
)
setResult
(
RESULT_OK
,
intent
)
finish
()
}
true
}
findViewById
<
TextView
>(
R
.
id
.
tv_search_cancle
).
setOnClickListener
{
setResult
(
RESULT_OK
)
finish
()
}
if
(
etSearch
.
requestFocus
())
{
val
imm
=
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
)
as
InputMethodManager
val
isShowing
=
imm
.
showSoftInput
(
etSearch
,
InputMethodManager
.
SHOW_IMPLICIT
)
if
(!
isShowing
)
{
window
.
setSoftInputMode
(
WindowManager
.
LayoutParams
.
SOFT_INPUT_STATE_VISIBLE
)
}
}
etSearch
.
addTextChangedListener
(
object
:
TextWatcher
{
override
fun
afterTextChanged
(
s
:
Editable
?)
{
if
(
TextUtils
.
isEmpty
(
s
))
{
iv_delete_icon
.
visibility
=
View
.
INVISIBLE
}
else
{
iv_delete_icon
.
visibility
=
View
.
VISIBLE
}
}
override
fun
beforeTextChanged
(
s
:
CharSequence
?,
start
:
Int
,
count
:
Int
,
after
:
Int
)
{}
override
fun
onTextChanged
(
s
:
CharSequence
?,
start
:
Int
,
before
:
Int
,
count
:
Int
)
{
}
})
iv_delete_icon
.
setOnClickListener
{
etSearch
.
setText
(
""
)
}
}
override
fun
layoutResId
():
Int
{
return
R
.
layout
.
confide_search_activity
}
}
\ No newline at end of file
m-confide/src/main/java/com/ydl/confide/home/adapter/ConfideHomeAdapter.kt
View file @
68c8a4b9
package
com.ydl.confide.home.adapter
import
android.app.Activity
import
android.content.Context
import
androidx.recyclerview.widget.RecyclerView
import
android.content.Intent
import
android.text.Editable
import
android.text.TextUtils
import
android.text.TextWatcher
import
android.util.Log
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.view.inputmethod.EditorInfo
import
android.widget.EditText
import
android.widget.ImageView
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
com.ydl.confide.R
import
com.ydl.confide.home.ConfideHomeActivity
import
com.ydl.confide.home.ConfideSearchActivity
import
com.ydl.confide.home.bean.ConfideHomeDataBean
import
com.ydl.confide.home.config.IConfideHomeConfig
import
com.ydl.confide.home.constants.FinalString
import
com.ydl.confide.home.constants.FinalString.SEARCH_REQUEST_CODE
import
com.ydl.confide.home.contract.IConfideHomeContract
import
com.ydl.confide.home.event.IConfideHomeEvent
import
com.ydl.confide.home.widget.*
import
com.ydl.ydlcommon.utils.DisplayUtils
import
com.ydl.ydlcommon.utils.KeyboardChangeListener
import
com.yidianling.common.tools.RxKeyboardTool
import
kotlinx.android.synthetic.main.confide_home_activity.view.*
/**
* @author yuanwai
...
...
@@ -20,9 +37,11 @@ import com.ydl.ydlcommon.utils.DisplayUtils
* @Company 壹点灵
* @date 2018/12/14
*/
class
ConfideHomeAdapter
(
private
val
mContext
:
Context
,
class
ConfideHomeAdapter
(
private
val
mContext
:
Context
,
private
var
confideHomeEvent
:
IConfideHomeEvent
,
private
var
confideHomeView
:
IConfideHomeContract
.
View
)
:
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>()
{
private
var
confideHomeView
:
IConfideHomeContract
.
View
)
:
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>()
{
private
var
mListData
:
List
<
ConfideHomeDataBean
>?
=
null
private
var
mFilterViewHolder
:
FilterViewHolder
?
=
null
...
...
@@ -101,7 +120,13 @@ class ConfideHomeAdapter(private val mContext: Context,
}
//为你推荐
IConfideHomeConfig
.
TYPE_RECOMMEND
->
{
return
RecommendViewHolder
(
ConfideHomeRecommendView
(
confideHomeView
,
parent
.
context
,
confideHomeEvent
))
return
RecommendViewHolder
(
ConfideHomeRecommendView
(
confideHomeView
,
parent
.
context
,
confideHomeEvent
)
)
}
IConfideHomeConfig
.
TYPE_VIDEO_SHOW
->
{
val
recyclerView
=
RecyclerView
(
parent
.
context
)
...
...
@@ -114,6 +139,20 @@ class ConfideHomeAdapter(private val mContext: Context,
}
return
VideoShowHolder
(
recyclerView
)
}
//顶部搜索
IConfideHomeConfig
.
TYPE_SEARCH
->
{
return
SearchViewHolder
(
LayoutInflater
.
from
(
mContext
)
.
inflate
(
R
.
layout
.
confide_home_search_header
,
parent
,
false
)
)
}
//空白页
IConfideHomeConfig
.
TYPE_EMPTY
->
{
return
EmptyView
(
LayoutInflater
.
from
(
mContext
).
inflate
(
R
.
layout
.
confide_empty_layout
,
parent
,
false
))
}
// //听声寻人
// IConfideHomeConfig.TYPE_SOUND -> {
//// return ConfideHomeListenAndFoundViewHolder(ConfideHomeListenAndFoundView(parent.context, confideHomeEvent))
...
...
@@ -148,12 +187,28 @@ class ConfideHomeAdapter(private val mContext: Context,
// holder.consultView!!.initData(mListData!![position])
}
else
if
(
holder
is
RecommendViewHolder
&&
null
!=
mListData
!!
[
position
]
&&
null
!=
mListData
!!
[
position
].
body
&&
!
mListData
!!
[
position
].
body
!!
.
isEmpty
())
{
//为你推荐
holder
.
confideHomeRecommendView
.
initData
(
mListData
!!
[
position
].
body
!!
[
0
],
position
,
mListData
!!
[
position
].
recommendId
)
holder
.
confideHomeRecommendView
.
initData
(
mListData
!!
[
position
].
body
!!
[
0
],
position
,
mListData
!!
[
position
].
recommendId
)
}
else
if
(
holder
is
VideoShowHolder
)
{
holder
.
rv
.
layoutManager
=
LinearLayoutManager
(
holder
.
itemView
.
context
,
RecyclerView
.
HORIZONTAL
,
false
)
val
recentBody
=
mListData
!!
[
position
].
body
holder
.
rv
.
adapter
=
VideoShowAdapter
(
recentBody
,
confideHomeEvent
)
}
else
if
(
holder
is
SearchViewHolder
)
{
holder
.
searchView
.
etSearch
.
setText
(
mListData
!!
[
position
].
keyword
)
holder
.
searchView
.
setOnClickListener
{
var
intent
=
Intent
(
mContext
,
ConfideSearchActivity
::
class
.
java
)
if
(!
TextUtils
.
isEmpty
(
mListData
!!
[
position
].
keyword
)){
intent
.
putExtra
(
FinalString
.
CONFIDE_SEARCH_KEY_WORD
,
mListData
!!
[
position
].
keyword
)
}
if
(
mContext
is
ConfideHomeActivity
){
val
confideHomeActivity
=
mContext
as
ConfideHomeActivity
confideHomeActivity
.
startActivityForResult
(
intent
,
SEARCH_REQUEST_CODE
)
}
}
}
else
if
(
holder
is
EmptyViewHolder
)
{
}
else
{
...
...
@@ -167,7 +222,8 @@ class ConfideHomeAdapter(private val mContext: Context,
/**
* banner viewHolder
*/
inner
class
BannerViewHolder
(
itemView
:
ConfideHomeBannerView
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
inner
class
BannerViewHolder
(
itemView
:
ConfideHomeBannerView
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
var
bannerView
:
ConfideHomeBannerView
?
=
null
init
{
...
...
@@ -178,7 +234,8 @@ class ConfideHomeAdapter(private val mContext: Context,
/**
* 分类测评 viewHolder
*/
inner
class
CategoryViewHolder
(
itemView
:
ConfideHomeCategoryView
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
inner
class
CategoryViewHolder
(
itemView
:
ConfideHomeCategoryView
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
var
categoryView
:
ConfideHomeCategoryView
?
=
null
init
{
...
...
@@ -189,22 +246,34 @@ class ConfideHomeAdapter(private val mContext: Context,
/**
* 筛选模块 viewHolder
*/
inner
class
FilterViewHolder
(
var
filterView
:
ConfideHomeFilterView
)
:
RecyclerView
.
ViewHolder
(
filterView
)
inner
class
FilterViewHolder
(
var
filterView
:
ConfideHomeFilterView
)
:
RecyclerView
.
ViewHolder
(
filterView
)
/**
* 搜索模块 viewHolder
*/
inner
class
SearchViewHolder
(
var
searchView
:
View
)
:
RecyclerView
.
ViewHolder
(
searchView
)
inner
class
EmptyView
(
var
emptyView
:
View
):
RecyclerView
.
ViewHolder
(
emptyView
)
/**
* 听声寻人 viewHolder
*/
inner
class
ConfideHomeListenAndFoundViewHolder
(
var
confideHomeListenAndFoundView
:
ConfideHomeListenAndFoundView
)
:
RecyclerView
.
ViewHolder
(
confideHomeListenAndFoundView
)
inner
class
ConfideHomeListenAndFoundViewHolder
(
var
confideHomeListenAndFoundView
:
ConfideHomeListenAndFoundView
)
:
RecyclerView
.
ViewHolder
(
confideHomeListenAndFoundView
)
/**
* 最近倾诉 viewHolder
*/
inner
class
ConsultViewHolder
(
var
consultView
:
ConfideHomeRecentView
)
:
RecyclerView
.
ViewHolder
(
consultView
)
inner
class
ConsultViewHolder
(
var
consultView
:
ConfideHomeRecentView
)
:
RecyclerView
.
ViewHolder
(
consultView
)
/**
* 为你推荐 viewHolder
*/
inner
class
RecommendViewHolder
(
var
confideHomeRecommendView
:
ConfideHomeRecommendView
)
:
RecyclerView
.
ViewHolder
(
confideHomeRecommendView
)
inner
class
RecommendViewHolder
(
var
confideHomeRecommendView
:
ConfideHomeRecommendView
)
:
RecyclerView
.
ViewHolder
(
confideHomeRecommendView
)
/**
* 空ViewHolder
...
...
@@ -216,6 +285,7 @@ class ConfideHomeAdapter(private val mContext: Context,
view
=
itemView
}
}
class
VideoShowHolder
(
val
rv
:
RecyclerView
)
:
RecyclerView
.
ViewHolder
(
rv
)
class
RecentConfideHolder
(
val
rv
:
RecyclerView
)
:
RecyclerView
.
ViewHolder
(
rv
)
}
\ No newline at end of file
m-confide/src/main/java/com/ydl/confide/home/bean/ConfideHomeAllFiltersBean.kt
View file @
68c8a4b9
...
...
@@ -9,6 +9,8 @@ package com.ydl.confide.home.bean
*/
data class
ConfideHomeAllFiltersBean
(
var
page
:
Int
,
//通过倾诉师的名字搜索
var
keywords
:
String
,
//选择的综合排序Id
var
selectSort
:
ConfideHomeFiterItemBean
?,
//选择的性别id
...
...
@@ -19,4 +21,6 @@ data class ConfideHomeAllFiltersBean(
val
selectGoodData
:
ArrayList
<
ConfideHomeFiterItemBean
>?,
//当前列表已存在专家uid列表
var
notInUid
:
ArrayList
<
Int
>
=
ArrayList
()
)
\ No newline at end of file
m-confide/src/main/java/com/ydl/confide/home/bean/ConfideHomeDataBean.kt
View file @
68c8a4b9
...
...
@@ -30,4 +30,6 @@ data class ConfideHomeDataBean(
/**
* 为你推荐Id 本地使用 用于区分音频播放区域
*/
var
recommendId
:
Int
)
\ No newline at end of file
var
recommendId
:
Int
,
var
keyword
:
String
=
""
)
\ No newline at end of file
m-confide/src/main/java/com/ydl/confide/home/config/IConfideHomeConfig.kt
View file @
68c8a4b9
...
...
@@ -20,6 +20,8 @@ interface IConfideHomeConfig{
const
val
TYPE_RECOMMEND
=
5
const
val
TYPE_SOUND
=
6
const
val
TYPE_VIDEO_SHOW
=
7
const
val
TYPE_SEARCH
=
8
const
val
TYPE_EMPTY
=
9
const
val
TYPE_FOOTER
=
999
/**
* section id. 与上面相对应
...
...
@@ -31,6 +33,8 @@ interface IConfideHomeConfig{
const
val
SECTION_RECOMMEND
=
10005
const
val
SECTION_SOUND
=
10006
const
val
SECTION_CONSULTANT
=
10007
const
val
SECTION_SEARCH
=
10008
const
val
SECTION_EMPTY
=
10009
const
val
SECTION_FOOTER
=
19999
...
...
m-confide/src/main/java/com/ydl/confide/home/constants/FinalString.java
View file @
68c8a4b9
...
...
@@ -19,4 +19,9 @@ public class FinalString {
//连接倾听未绑定手机提示
public
static
final
String
TEL_BINDPHONE
=
"电话连接需要绑定手机哦~"
;
public
static
final
String
CONFIDE_SEARCH_KEY_WORD
=
"confide_key_word"
;
public
static
final
int
SEARCH_REQUEST_CODE
=
1
;
}
m-confide/src/main/java/com/ydl/confide/home/http/ConfideHomeHttpImpl.kt
View file @
68c8a4b9
...
...
@@ -51,6 +51,7 @@ class ConfideHomeHttpImpl private constructor() : IConfideHomeHttp {
val
sb
=
StringBuffer
()
sb
.
append
(
"page"
).
append
(
"="
).
append
(
param
.
page
).
append
(
"&"
)
.
append
(
"keywords"
).
append
(
"="
).
append
(
param
.
getKeywords
()).
append
(
"&"
)
.
append
(
"sortType"
).
append
(
"="
).
append
(
param
.
getSortType
()).
append
(
"&"
)
.
append
(
"sexType"
).
append
(
"="
).
append
(
param
.
getSexType
()).
append
(
"&"
)
.
append
(
"ageType"
).
append
(
"="
).
append
(
param
.
getAgeType
()).
append
(
"&"
)
...
...
m-confide/src/main/java/com/ydl/confide/home/http/ConfideRecommendParam.kt
View file @
68c8a4b9
...
...
@@ -30,6 +30,8 @@ class ConfideRecommendParam private constructor(builder: Builder){
*/
private
var
goodType
:
String
=
""
private
var
keyWords
:
String
=
""
//当前列表已存在专家uid列表
var
notInUid
:
ArrayList
<
Int
>
=
ArrayList
()
...
...
@@ -49,6 +51,10 @@ class ConfideRecommendParam private constructor(builder: Builder){
return
goodType
}
fun
getKeywords
()
:
String
{
return
keyWords
}
init
{
this
.
page
=
builder
.
page
this
.
sortType
=
builder
.
sortType
...
...
@@ -56,6 +62,7 @@ class ConfideRecommendParam private constructor(builder: Builder){
this
.
ageType
=
builder
.
ageType
this
.
goodType
=
builder
.
goodType
this
.
notInUid
=
builder
.
notInUid
this
.
keyWords
=
builder
.
keyWords
}
class
Builder
{
...
...
@@ -65,6 +72,7 @@ class ConfideRecommendParam private constructor(builder: Builder){
internal
var
ageType
:
String
=
""
internal
var
goodType
:
String
=
""
internal
var
notInUid
:
ArrayList
<
Int
>
=
ArrayList
()
internal
var
keyWords
:
String
=
""
fun
page
(
page
:
Int
):
Builder
{
this
.
page
=
page
...
...
@@ -91,9 +99,17 @@ class ConfideRecommendParam private constructor(builder: Builder){
return
this
}
fun
keyWords
(
keyWords
:
String
):
Builder
{
this
.
keyWords
=
keyWords
return
this
}
fun
build
()
:
ConfideRecommendParam
{
return
ConfideRecommendParam
(
this
)
}
}
}
...
...
m-confide/src/main/java/com/ydl/confide/home/listener/ConfideHomeRecycleViewListener.kt
View file @
68c8a4b9
...
...
@@ -72,7 +72,7 @@ class ConfideHomeRecycleViewListener() : RecyclerView.OnScrollListener() {
mRecyclerView
.
scrollBy
(
0
,
1
)
val
childAt
=
mRecyclerView
.
getChildAt
(
mIndex
)
if
(
childAt
!
is
ConfideHomeFilterView
)
return
val
top
=
childAt
.
top
val
top
=
childAt
.
top
-
childAt
.
height
if
(
top
==
0
||
top
==
1
){
//已滚动到顶部
...
...
m-confide/src/main/java/com/ydl/confide/home/listener/ConfideHomeRecyleSuspendListener.kt
View file @
68c8a4b9
package
com.ydl.confide.home.listener
import
android.text.Editable
import
android.text.TextUtils
import
android.text.TextWatcher
import
android.util.Log
import
android.view.View
import
android.widget.EditText
import
android.widget.ImageView
import
android.widget.RelativeLayout
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
android.view.View
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.RxImageTool
import
com.ydl.confide.R
import
com.ydl.confide.home.adapter.ConfideHomeAdapter
import
com.ydl.confide.home.config.IConfideHomeConfig
import
com.ydl.confide.home.widget.ConfideHomeFilterView
import
com.ydl.ydlcommon.base.BaseActivityMgr
import
com.ydl.ydlcommon.utils.KeyboardChangeListener
import
com.yidianling.common.tools.LogUtil
import
com.yidianling.common.tools.RxImageTool
/**
* @author yuanwai
...
...
@@ -22,9 +32,14 @@ class ConfideHomeRecyleSuspendListener : RecyclerView.OnScrollListener() {
private
var
mSuspensionHeight
:
Int
=
RxImageTool
.
dip2px
(
48f
)
private
var
mSearchViewHeight
:
Int
=
RxImageTool
.
dip2px
(
48f
)
private
var
filterView
:
ConfideHomeFilterView
?
=
null
private
var
searchView
:
RelativeLayout
?
=
null
private
var
divView
:
View
?
=
null
private
var
searchText
=
""
private
var
adapter
:
ConfideHomeAdapter
?
=
null
fun
setFilterView
(
filterView
:
ConfideHomeFilterView
,
divView
:
View
)
{
...
...
@@ -32,6 +47,17 @@ class ConfideHomeRecyleSuspendListener : RecyclerView.OnScrollListener() {
this
.
divView
=
divView
}
fun
setFilterView
(
filterView
:
ConfideHomeFilterView
,
searchView
:
RelativeLayout
,
divView
:
View
)
{
this
.
filterView
=
filterView
this
.
divView
=
divView
this
.
searchView
=
searchView
}
fun
setSectionAdapter
(
adapter
:
ConfideHomeAdapter
)
{
this
.
adapter
=
adapter
}
...
...
@@ -41,6 +67,11 @@ class ConfideHomeRecyleSuspendListener : RecyclerView.OnScrollListener() {
if
(
null
!=
filterView
)
{
mSuspensionHeight
=
filterView
!!
.
height
}
if
(
searchView
!=
null
)
{
mSearchViewHeight
=
searchView
!!
.
height
}
}
override
fun
onScrolled
(
recyclerView
:
RecyclerView
,
dx
:
Int
,
dy
:
Int
)
{
...
...
@@ -49,24 +80,42 @@ class ConfideHomeRecyleSuspendListener : RecyclerView.OnScrollListener() {
return
}
val
manager
=
recyclerView
!!
.
layoutManager
as
LinearLayoutManager
val
findFirstCompletelyVisibleItemPosition
=
manager
.
findFirstCompletelyVisibleItemPosition
();
if
(
findFirstCompletelyVisibleItemPosition
!=
0
&&
findFirstCompletelyVisibleItemPosition
!=
1
)
{
searchView
?.
visibility
=
View
.
VISIBLE
}
else
{
searchView
?.
visibility
=
View
.
INVISIBLE
}
if
(
mCurrentPosition
!=
manager
.
findFirstVisibleItemPosition
())
{
mCurrentPosition
=
manager
.
findFirstVisibleItemPosition
()
}
LogUtil
.
e
(
"http----------------type="
+
adapter
!!
.
getItemViewType
(
mCurrentPosition
))
if
(
adapter
!!
.
getItemViewType
(
mCurrentPosition
)
==
IConfideHomeConfig
.
TYPE_RECOMMEND
)
{
LogUtil
.
e
(
"http----------------type="
+
adapter
!!
.
getItemViewType
(
mCurrentPosition
))
if
(
adapter
!!
.
getItemViewType
(
mCurrentPosition
+
1
)
==
IConfideHomeConfig
.
TYPE_RECOMMEND
)
{
var
view
=
manager
.
findViewByPosition
(
mCurrentPosition
+
1
)
if
(
view
!=
null
)
{
if
(
view
is
ConfideHomeFilterView
)
{
if
(
view
.
top
<=
mSuspensionHeight
)
{
filterView
!!
.
visibility
=
View
.
VISIBLE
divView
?.
visibility
=
View
.
VISIBLE
}
else
{
// filterView!!.visibility = View.INVISIBLE
filterView
!!
.
visibility
=
View
.
INVISIBLE
divView
?.
visibility
=
View
.
INVISIBLE
}
}
}
}
else
if
(
adapter
!!
.
getItemViewType
(
mCurrentPosition
)
==
IConfideHomeConfig
.
TYPE_RECOMMEND
||
adapter
!!
.
getItemViewType
(
mCurrentPosition
)
==
IConfideHomeConfig
.
TYPE_SOUND
){
}
else
if
(
adapter
!!
.
getItemViewType
(
mCurrentPosition
+
1
)
==
IConfideHomeConfig
.
TYPE_RECOMMEND
||
adapter
!!
.
getItemViewType
(
mCurrentPosition
+
1
)
==
IConfideHomeConfig
.
TYPE_SOUND
)
{
filterView
!!
.
visibility
=
View
.
VISIBLE
divView
?.
visibility
=
View
.
VISIBLE
}
else
{
}
else
{
filterView
!!
.
visibility
=
View
.
INVISIBLE
divView
?.
visibility
=
View
.
INVISIBLE
}
...
...
m-confide/src/main/java/com/ydl/confide/home/popwindow/ConfideHomeSexAgePopupWindow.kt
View file @
68c8a4b9
...
...
@@ -54,7 +54,7 @@ class ConfideHomeSexAgePopupWindow(context: Context, sexData: ArrayList<ConfideH
tvSexTitle
.
text
=
"性别筛选"
tvAgeTitle
.
text
=
"年龄筛选"
if
(
null
==
mAllFiltersBean
){
mAllFiltersBean
=
ConfideHomeAllFiltersBean
(
allFiltersBean
.
page
,
allFiltersBean
.
selectSort
,
allFiltersBean
.
selectSex
,
allFiltersBean
.
selectAgeData
,
allFiltersBean
.
selectGoodData
)
mAllFiltersBean
=
ConfideHomeAllFiltersBean
(
allFiltersBean
.
page
,
""
,
allFiltersBean
.
selectSort
,
allFiltersBean
.
selectSex
,
allFiltersBean
.
selectAgeData
,
allFiltersBean
.
selectGoodData
)
}
initData
(
sexData
,
ageData
,
mAllFiltersBean
!!
)
initSexData
(
view
,
mAllFiltersBean
!!
)
...
...
m-confide/src/main/java/com/ydl/confide/home/util/ConfideHomeUtils.kt
View file @
68c8a4b9
...
...
@@ -490,6 +490,10 @@ class ConfideHomeUtils {
if
(-
1
!=
allFiltersBean
.
page
)
{
param
.
page
(
allFiltersBean
.
page
)
}
if
(
null
!=
allFiltersBean
.
keywords
){
param
.
keyWords
(
allFiltersBean
.
keywords
)
}
//综合排序
if
(
null
!=
allFiltersBean
.
selectSort
&&
!
TextUtils
.
isEmpty
(
allFiltersBean
.
selectSort
!!
.
id
)
&&
"-1"
!=
allFiltersBean
.
selectSort
!!
.
id
)
{
param
.
sortType
(
allFiltersBean
.
selectSort
!!
.
id
!!
)
...
...
m-confide/src/main/res/drawable-xxhdpi/confide_icon_input_search.png
0 → 100644
View file @
68c8a4b9
1.53 KB
m-confide/src/main/res/drawable/confide_bg_hot_search_input.xml
0 → 100644
View file @
68c8a4b9
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"40dp"
/>
<solid
android:color=
"#F7F7F7"
/>
<stroke
android:width=
"1px"
android:color=
"#E6E6E6"
/>
</shape>
\ No newline at end of file
m-confide/src/main/res/drawable/confide_edit_cursor_drawable.xml
0 → 100644
View file @
68c8a4b9
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<size
android:width=
"1dp"
/>
<span
style=
"font-family: Arial, Helvetica, sans-serif;"
/>
<solid
android:color=
"@color/platform_main_theme"
/>
</shape>
\ No newline at end of file
m-confide/src/main/res/layout/confide_empty_layout.xml
0 → 100644
View file @
68c8a4b9
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:background=
"@color/white"
android:layout_height=
"wrap_content"
>
<LinearLayout
android:id=
"@+id/empty_rl"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerHorizontal=
"true"
android:gravity=
"center_horizontal"
android:layout_marginTop=
"100dp"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/empty_img"
android:layout_width=
"180dp"
android:layout_height=
"120dp"
android:src=
"@drawable/platform_ico_img_zixun_empty"
/>
<TextView
android:id=
"@+id/hint_msg"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/platform_dp_35"
android:text=
"没有搜到相关信息,换个关键词看看吧"
android:textColor=
"@color/platform_color_999999"
android:textSize=
"14dp"
/>
</LinearLayout>
</RelativeLayout>
\ No newline at end of file
m-confide/src/main/res/layout/confide_home_activity.xml
View file @
68c8a4b9
...
...
@@ -16,7 +16,8 @@
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id=
"@+id/rv_list"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/quick_consult_card"
...
...
@@ -136,11 +137,75 @@
android:background=
"#80000000"
android:visibility=
"gone"
/>
<RelativeLayout
android:id=
"@+id/rl_search_head"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/platform_dp_48"
android:background=
"@color/white"
android:visibility=
"gone"
tools:visibility=
"gone"
>
<View
android:id=
"@+id/view_search_input_bg"
android:layout_width=
"match_parent"
android:layout_height=
"32dp"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/confide_dp_15"
android:layout_marginRight=
"@dimen/confide_dp_15"
android:background=
"@drawable/confide_bg_hot_search_input"
android:tag=
"tag_search_input_bg"
/>
<ImageView
android:id=
"@+id/iv_search_icon"
android:layout_width=
"14dp"
android:layout_height=
"14dp"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/platform_dp_25"
android:layout_marginRight=
"10dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/confide_icon_input_search"
android:tag=
"tag_search_input_img"
/>
<TextView
android:id=
"@+id/etSearch"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"20dp"
android:layout_toLeftOf=
"@+id/iv_delete_icon"
android:layout_toRightOf=
"@id/iv_search_icon"
android:background=
"@null"
android:cursorVisible=
"true"
android:hint=
"请输入倾诉师姓名"
android:imeOptions=
"actionSearch"
android:maxLength=
"100"
android:singleLine=
"true"
android:tag=
"tag_search_input_edit"
android:textColor=
"#242424"
android:textColorHint=
"#b3b3b3"
android:textCursorDrawable=
"@drawable/confide_edit_cursor_drawable"
android:textSize=
"13sp"
/>
<ImageView
android:id=
"@+id/iv_delete_icon"
android:layout_width=
"14dp"
android:layout_height=
"14dp"
android:layout_alignRight=
"@+id/view_search_input_bg"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"12dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/platform_delete"
android:visibility=
"invisible"
/>
</RelativeLayout>
<com.ydl.confide.home.widget.ConfideHomeFilterView
android:id=
"@+id/v_filterView"
android:layout_width=
"match_parent"
android:layout_height=
"48dp"
android:background=
"@color/white"
android:layout_below=
"@+id/rl_search_head"
android:visibility=
"gone"
tools:visibility=
"gone"
/>
...
...
m-confide/src/main/res/layout/confide_home_search_header.xml
0 → 100644
View file @
68c8a4b9
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/rl_search"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/platform_dp_48"
android:descendantFocusability=
"blocksDescendants"
>
<View
android:id=
"@+id/view_search_input_bg"
android:layout_width=
"match_parent"
android:layout_height=
"32dp"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/confide_dp_15"
android:layout_marginRight=
"@dimen/confide_dp_15"
android:background=
"@drawable/confide_bg_hot_search_input"
android:tag=
"tag_search_input_bg"
/>
<ImageView
android:id=
"@+id/iv_search_icon"
android:layout_width=
"14dp"
android:layout_height=
"14dp"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/platform_dp_25"
android:layout_marginRight=
"10dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/confide_icon_input_search"
android:tag=
"tag_search_input_img"
/>
<TextView
android:id=
"@+id/etSearch"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"20dp"
android:layout_toLeftOf=
"@+id/iv_delete_icon"
android:layout_toRightOf=
"@id/iv_search_icon"
android:background=
"@null"
android:cursorVisible=
"true"
android:hint=
"请输入倾诉师姓名"
android:imeOptions=
"actionSearch"
android:maxLength=
"100"
android:singleLine=
"true"
android:tag=
"tag_search_input_edit"
android:textColor=
"#242424"
android:textColorHint=
"#b3b3b3"
android:textCursorDrawable=
"@drawable/confide_edit_cursor_drawable"
android:textSize=
"13sp"
/>
<ImageView
android:id=
"@+id/iv_delete_icon"
android:layout_width=
"14dp"
android:layout_height=
"14dp"
android:layout_alignRight=
"@+id/view_search_input_bg"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"12dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/platform_delete"
android:visibility=
"invisible"
/>
</RelativeLayout>
m-confide/src/main/res/layout/confide_search_activity.xml
0 → 100644
View file @
68c8a4b9
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<RelativeLayout
android:id=
"@+id/rl_search"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/platform_dp_48"
android:paddingStart=
"15dp"
android:tag=
"tag_search_input"
>
<View
android:id=
"@+id/view_search_input_bg"
android:layout_width=
"match_parent"
android:layout_height=
"32dp"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"60dp"
android:background=
"@drawable/confide_bg_hot_search_input"
android:tag=
"tag_search_input_bg"
/>
<ImageView
android:id=
"@+id/iv_search_icon"
android:layout_width=
"14dp"
android:layout_height=
"14dp"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"15dp"
android:layout_marginRight=
"10dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/confide_icon_input_search"
android:tag=
"tag_search_input_img"
/>
<EditText
android:id=
"@+id/etSearch"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"20dp"
android:layout_toLeftOf=
"@+id/iv_delete_icon"
android:layout_toRightOf=
"@id/iv_search_icon"
android:background=
"@null"
android:cursorVisible=
"true"
android:focusable=
"true"
android:focusableInTouchMode=
"true"
android:hint=
"请输入倾诉师姓名"
android:imeOptions=
"actionSearch"
android:maxLength=
"100"
android:singleLine=
"true"
android:tag=
"tag_search_input_edit"
android:textColor=
"#242424"
android:textColorHint=
"#b3b3b3"
android:textCursorDrawable=
"@drawable/confide_edit_cursor_drawable"
android:textSize=
"13sp"
/>
<ImageView
android:id=
"@+id/iv_delete_icon"
android:layout_width=
"14dp"
android:layout_height=
"14dp"
android:layout_alignRight=
"@+id/view_search_input_bg"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"12dp"
android:scaleType=
"centerCrop"
android:src=
"@drawable/platform_delete"
android:visibility=
"invisible"
/>
<TextView
android:id=
"@+id/tv_search_cancle"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"10dp"
android:padding=
"5dp"
android:text=
"取消"
android:textColor=
"#242424"
android:textSize=
"15dp"
/>
</RelativeLayout>
<View
android:id=
"@+id/v_topLine"
android:layout_width=
"match_parent"
android:layout_height=
"0.5dp"
android:layout_below=
"@+id/rl_search"
android:layout_marginTop=
"@dimen/platform_dp_6"
android:background=
"@color/platform_color_E0E0E0"
/>
</LinearLayout>
\ 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