Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
Project
Project
Details
Activity
Releases
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
bp
ShenghuoquanBusiness
Commits
68a3e776
Commit
68a3e776
authored
May 19, 2021
by
yinjiacheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add: 生活号身份选择页面
parent
25996760
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
300 additions
and
0 deletions
+300
-0
XRouterPathConstants.kt
...n/src/main/java/com/yidian/common/XRouterPathConstants.kt
+1
-0
AndroidManifest.xml
Components/newscontent/src/main/AndroidManifest.xml
+4
-0
LifeAccountIdentityAdapter.kt
...huoquan/newscontent/adapter/LifeAccountIdentityAdapter.kt
+78
-0
NewsContentApplication.kt
...an/shenghuoquan/newscontent/app/NewsContentApplication.kt
+13
-0
LifeAccountIdentityBean.kt
.../shenghuoquan/newscontent/bean/LifeAccountIdentityBean.kt
+8
-0
LifeAccountIdentityActivity.kt
...henghuoquan/newscontent/ui/LifeAccountIdentityActivity.kt
+88
-0
bg_item_life_account_identity.xml
...t/src/main/res/drawable/bg_item_life_account_identity.xml
+11
-0
bg_item_life_account_identity_selected.xml
...n/res/drawable/bg_item_life_account_identity_selected.xml
+11
-0
selector_item_life_account_identity.xml
...main/res/drawable/selector_item_life_account_identity.xml
+7
-0
activity_life_account_identity.xml
...nt/src/main/res/layout/activity_life_account_identity.xml
+43
-0
item_life_account_identity.xml
...ontent/src/main/res/layout/item_life_account_identity.xml
+31
-0
strings.xml
Components/newscontent/src/main/res/values/strings.xml
+5
-0
No files found.
CommonLib/Common/src/main/java/com/yidian/common/XRouterPathConstants.kt
View file @
68a3e776
...
...
@@ -29,5 +29,6 @@ class XRouterPathConstants {
const
val
VIDEO_COMMENT_DETAIL
=
"/newscontent/VideoDetailActivity"
const
val
COMMENT_TEST
=
"/newscontent/CommentTestActivity"
const
val
MINE
=
"/mine"
const
val
LIFE_ACCOUNT_IDENTITY
=
"/lifeAccountIdentity"
}
}
\ No newline at end of file
Components/newscontent/src/main/AndroidManifest.xml
View file @
68a3e776
...
...
@@ -92,6 +92,10 @@
<activity
android:name=
".ui.LoginLifeCircleActivity"
android:theme=
"@style/Transparent"
/>
<activity
android:name=
".ui.LifeAccountIdentityActivity"
android:theme=
"@style/Transparent"
/>
</application>
</manifest>
\ No newline at end of file
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/adapter/LifeAccountIdentityAdapter.kt
0 → 100644
View file @
68a3e776
package
com.yidian.shenghuoquan.newscontent.adapter
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.recyclerview.widget.RecyclerView
import
com.yidian.common.cardutils.adapter.OnItemClickListener
import
com.yidian.shenghuoquan.newscontent.R
import
com.yidian.shenghuoquan.newscontent.bean.LifeAccountIdentityBean
import
kotlinx.android.synthetic.main.item_life_account_identity.view.*
/**
* author: yinjiacheng
* date: 5/19/21 5:32 PM
* description: 生活号身份adapter
*/
class
LifeAccountIdentityAdapter
:
RecyclerView
.
Adapter
<
LifeAccountIdentityAdapter
.
LifeAccountIdentityViewHolder
>()
{
private
val
mData
:
ArrayList
<
LifeAccountIdentityBean
>
by
lazy
{
ArrayList
<
LifeAccountIdentityBean
>()
}
private
lateinit
var
mListener
:
OnItemClickListener
<
LifeAccountIdentityBean
>
private
lateinit
var
mLastSelectItem
:
View
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
LifeAccountIdentityViewHolder
{
return
LifeAccountIdentityViewHolder
(
LayoutInflater
.
from
(
parent
.
context
)
.
inflate
(
R
.
layout
.
item_life_account_identity
,
parent
,
false
)
)
}
override
fun
onBindViewHolder
(
holder
:
LifeAccountIdentityViewHolder
,
position
:
Int
)
{
if
(
position
==
0
)
{
// 默认选中第一个身份
mLastSelectItem
=
holder
.
itemView
holder
.
itemView
.
isSelected
=
true
}
val
data
=
mData
[
position
]
holder
.
itemView
.
tv_life_account
.
text
=
data
.
account
holder
.
itemView
.
tv_life_identity
.
text
=
data
.
identity
holder
.
itemView
.
setOnClickListener
{
mLastSelectItem
.
isSelected
=
false
mLastSelectItem
=
holder
.
itemView
holder
.
itemView
.
isSelected
=
true
mListener
.
onClick
(
it
,
position
,
data
)
}
}
override
fun
getItemCount
():
Int
{
return
mData
.
size
}
/**
* 更新数据
*/
fun
updateData
(
data
:
List
<
LifeAccountIdentityBean
>)
{
data
.
let
{
mData
.
clear
()
mData
.
addAll
(
it
)
notifyDataSetChanged
()
}
}
fun
setOnItemClickListener
(
listener
:
OnItemClickListener
<
LifeAccountIdentityBean
>)
{
mListener
=
listener
}
/**
* 自定义ViewHolder
*/
class
LifeAccountIdentityViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
}
\ No newline at end of file
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/app/NewsContentApplication.kt
View file @
68a3e776
...
...
@@ -18,6 +18,7 @@ import com.yidian.common.XRouterPathConstants.Companion.COLLECTION
import
com.yidian.common.XRouterPathConstants.Companion.FLASH
import
com.yidian.common.XRouterPathConstants.Companion.GALLERY
import
com.yidian.common.XRouterPathConstants.Companion.HOME
import
com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_IDENTITY
import
com.yidian.common.XRouterPathConstants.Companion.LOGIN_LIFE_CIRCLE
import
com.yidian.common.XRouterPathConstants.Companion.NEWS_CONTENT
import
com.yidian.common.XRouterPathConstants.Companion.NEWS_MAIN
...
...
@@ -117,6 +118,18 @@ class NewsContentApplication : YdBaseApplication() {
}
}),
XPageNode
(
LIFE_ACCOUNT_IDENTITY
,
XPageNodePageType
.
NATIVE
,
object
:
XPageHandler
{
override
fun
handler
(
params
:
Map
<
String
,
Any
?
>?)
{
val
intent
=
Intent
()
if
(
params
!=
null
)
{
intent
.
putExtra
(
XRouterPathConstants
.
ParamsKey
,
params
as
HashMap
)
}
intent
.
setClass
(
context
,
LifeAccountIdentityActivity
::
class
.
java
)
intent
.
flags
=
Intent
.
FLAG_ACTIVITY_NEW_TASK
context
.
startActivity
(
intent
)
}
}),
XPageNode
(
NEWS_CONTENT
,
XPageNodePageType
.
NATIVE
,
object
:
XPageHandler
{
override
fun
handler
(
params
:
Map
<
String
,
Any
?
>?)
{
val
intent
=
Intent
()
...
...
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/bean/LifeAccountIdentityBean.kt
0 → 100644
View file @
68a3e776
package
com.yidian.shenghuoquan.newscontent.bean
/**
* author: yinjiacheng
* date: 5/19/21 5:45 PM
* description: 生活号身份bean
*/
data class
LifeAccountIdentityBean
(
val
account
:
String
,
val
identity
:
String
)
Components/newscontent/src/main/java/com/yidian/shenghuoquan/newscontent/ui/LifeAccountIdentityActivity.kt
0 → 100644
View file @
68a3e776
package
com.yidian.shenghuoquan.newscontent.ui
import
android.graphics.Rect
import
android.os.Bundle
import
android.view.View
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.RecyclerView
import
com.yidian.common.XRouterPathConstants
import
com.yidian.common.base.BaseActivity
import
com.yidian.common.cardutils.adapter.OnItemClickListener
import
com.yidian.shenghuoquan.newscontent.R
import
com.yidian.shenghuoquan.newscontent.adapter.LifeAccountIdentityAdapter
import
com.yidian.shenghuoquan.newscontent.bean.LifeAccountIdentityBean
import
com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountIdentityBinding
/**
* author: yinjiacheng
* date: 5/19/21 4:47 PM
* description: 生活号身份选择
*/
class
LifeAccountIdentityActivity
:
BaseActivity
<
ActivityLifeAccountIdentityBinding
>(),
View
.
OnClickListener
,
OnItemClickListener
<
LifeAccountIdentityBean
>
{
override
fun
createViewBinding
():
ActivityLifeAccountIdentityBinding
{
return
ActivityLifeAccountIdentityBinding
.
inflate
(
layoutInflater
)
}
override
fun
getXPageName
():
String
{
return
XRouterPathConstants
.
LIFE_ACCOUNT_IDENTITY
}
override
fun
init
(
savedInstanceState
:
Bundle
?)
{
super
.
init
(
savedInstanceState
)
initView
()
initListener
()
initData
()
}
private
fun
initView
()
{
viewBind
.
rvLifeAccountIdentity
.
layoutManager
=
LinearLayoutManager
(
this
,
RecyclerView
.
VERTICAL
,
false
)
viewBind
.
rvLifeAccountIdentity
.
addItemDecoration
(
LifeAccountIdentityItemDecoration
())
viewBind
.
rvLifeAccountIdentity
.
adapter
=
LifeAccountIdentityAdapter
()
}
private
fun
initListener
()
{
viewBind
.
btnEnterLifeAccount
.
setOnClickListener
(
this
)
(
viewBind
.
rvLifeAccountIdentity
.
adapter
as
LifeAccountIdentityAdapter
).
setOnItemClickListener
(
this
)
}
private
fun
initData
()
{
val
data
:
List
<
LifeAccountIdentityBean
>
=
listOf
(
LifeAccountIdentityBean
(
"一点资讯"
,
"超级管理员"
),
LifeAccountIdentityBean
(
"生活圈"
,
"普通管理员"
)
)
(
viewBind
.
rvLifeAccountIdentity
.
adapter
as
LifeAccountIdentityAdapter
).
updateData
(
data
)
}
override
fun
onClick
(
v
:
View
?)
{
val
id
=
v
?.
id
;
if
(
id
==
R
.
id
.
btn_enter_life_account
)
{
// TODO: 5/19/21 执行进入生活号逻辑
}
}
override
fun
onClick
(
view
:
View
?,
position
:
Int
,
item
:
LifeAccountIdentityBean
?)
{
// TODO: 5/19/21 选中某个身份
}
/**
* 自定义ItemDecoration
* 处理Item间隔
*/
class
LifeAccountIdentityItemDecoration
:
RecyclerView
.
ItemDecoration
()
{
override
fun
getItemOffsets
(
outRect
:
Rect
,
view
:
View
,
parent
:
RecyclerView
,
state
:
RecyclerView
.
State
)
{
outRect
.
top
=
20
outRect
.
bottom
=
20
}
}
}
\ No newline at end of file
Components/newscontent/src/main/res/drawable/bg_item_life_account_identity.xml
0 → 100644
View file @
68a3e776
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"10dp"
/>
<stroke
android:width=
"1dp"
android:color=
"@color/homeGray"
/>
</shape>
\ No newline at end of file
Components/newscontent/src/main/res/drawable/bg_item_life_account_identity_selected.xml
0 → 100644
View file @
68a3e776
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"10dp"
/>
<stroke
android:width=
"1dp"
android:color=
"@color/red_second"
/>
</shape>
\ No newline at end of file
Components/newscontent/src/main/res/drawable/selector_item_life_account_identity.xml
0 → 100644
View file @
68a3e776
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@drawable/bg_item_life_account_identity"
android:state_selected=
"false"
/>
<item
android:drawable=
"@drawable/bg_item_life_account_identity_selected"
android:state_selected=
"true"
/>
</selector>
\ No newline at end of file
Components/newscontent/src/main/res/layout/activity_life_account_identity.xml
0 → 100644
View file @
68a3e776
<?xml version="1.0" encoding="utf-8"?>
<com.yidian.nightmode.widget.YdConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<com.yidian.nightmode.widget.YdTextView
android:id=
"@+id/tv_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"20dp"
android:includeFontPadding=
"false"
android:text=
"@string/life_account_identity_select"
android:textColor=
"#FF000000"
android:textSize=
"18sp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<com.yidian.nightmode.widget.YdRecyclerView
android:id=
"@+id/rv_life_account_identity"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_marginTop=
"20dp"
android:layout_marginBottom=
"10dp"
android:paddingStart=
"30dp"
android:paddingEnd=
"30dp"
app:layout_constraintBottom_toTopOf=
"@id/btn_enter_life_account"
app:layout_constraintTop_toBottomOf=
"@id/tv_title"
/>
<com.yidian.nightmode.widget.YdButton
android:id=
"@+id/btn_enter_life_account"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"10dp"
android:text=
"@string/enter_life_account"
android:textColor=
"#FF000000"
android:textSize=
"16sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
/>
</com.yidian.nightmode.widget.YdConstraintLayout>
\ No newline at end of file
Components/newscontent/src/main/res/layout/item_life_account_identity.xml
0 → 100644
View file @
68a3e776
<?xml version="1.0" encoding="utf-8"?>
<com.yidian.nightmode.widget.YdConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"100dp"
android:background=
"@drawable/selector_item_life_account_identity"
android:padding=
"20dp"
>
<com.yidian.nightmode.widget.YdTextView
android:id=
"@+id/tv_life_account"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:ellipsize=
"end"
android:includeFontPadding=
"false"
android:singleLine=
"true"
android:textColor=
"#FF000000"
android:textSize=
"16sp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<com.yidian.nightmode.widget.YdTextView
android:id=
"@+id/tv_life_identity"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:includeFontPadding=
"false"
android:textColor=
"@color/homeGray"
android:textSize=
"14sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
/>
</com.yidian.nightmode.widget.YdConstraintLayout>
\ No newline at end of file
Components/newscontent/src/main/res/values/strings.xml
View file @
68a3e776
...
...
@@ -44,4 +44,9 @@
<string
name=
"subscription"
>
+ 订阅
</string>
<string
name=
"subscribed"
>
已订阅
</string>
<string
name=
"divider"
>
/
</string>
<!--生活圈B端-->
<string
name=
"life_account_identity_select"
>
生活号身份选择
</string>
<string
name=
"enter_life_account"
>
进入生活号
</string>
</resources>
\ 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