Commit 5c408a32 authored by yinjiacheng's avatar yinjiacheng

add 商户管理中心UI

parent 9f9c4b02
...@@ -46,5 +46,8 @@ class XRouterPathConstants { ...@@ -46,5 +46,8 @@ class XRouterPathConstants {
// 系统设置 —— 设置 // 系统设置 —— 设置
const val SYSTEM_SETTING = "/setting/SettingActivity" const val SYSTEM_SETTING = "/setting/SettingActivity"
// 商户管理中心
const val MERCHANT_CENTER = "/merchantCenter"
} }
} }
...@@ -118,6 +118,10 @@ ...@@ -118,6 +118,10 @@
android:name=".ui.setting.SystemSetting" android:name=".ui.setting.SystemSetting"
android:theme="@style/Transparent" /> android:theme="@style/Transparent" />
<activity
android:name=".ui.center.MerchantCenterActivity"
android:theme="@style/Transparent" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.adapter
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.yidian.shenghuoquan.newscontent.bean.MerchantServiceBean
import com.yidian.shenghuoquan.newscontent.databinding.ItemMerchantServiceBinding
/**
* author: yinjiacheng
* date: 6/9/21 10:36 AM
* description: 商户服务adapter
*/
class MerchantServiceAdapter @JvmOverloads constructor(
val context: Context,
data: ArrayList<MerchantServiceBean>? = null,
val listener: OnItemClickListener? = null
) :
RecyclerView.Adapter<MerchantServiceAdapter.MerchantServiceViewHolder>() {
/**
* 数据源
*/
private val serviceData by lazy { ArrayList<MerchantServiceBean>() }
private lateinit var viewBinding: ItemMerchantServiceBinding
init {
data?.let {
serviceData.addAll(it)
}
}
/**
* 更换数据
*/
fun updateData(data: ArrayList<MerchantServiceBean>?) {
data?.let {
serviceData.clear()
serviceData.addAll(it)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MerchantServiceViewHolder {
viewBinding = ItemMerchantServiceBinding.inflate(
LayoutInflater.from(
parent.context
), parent, false
)
return MerchantServiceViewHolder(viewBinding.root, viewBinding)
}
override fun onBindViewHolder(holder: MerchantServiceViewHolder, position: Int) {
val data = serviceData[position]
if (!data.iconUrl.isNullOrEmpty()) {
Glide.with(context).load(data.iconUrl).into(viewBinding.ivService)
}
holder.viewBinding.tvService.text = data.name
holder.viewBinding.root.setOnClickListener { listener?.onItemClick(it, position, data) }
}
override fun getItemCount(): Int {
return serviceData.size
}
class MerchantServiceViewHolder(itemView: View, val viewBinding: ItemMerchantServiceBinding) :
RecyclerView.ViewHolder(itemView)
interface OnItemClickListener {
fun onItemClick(view: View, position: Int, data: MerchantServiceBean)
}
}
\ No newline at end of file
...@@ -13,6 +13,7 @@ import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_IDENTITY ...@@ -13,6 +13,7 @@ import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_IDENTITY
import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_PERSONAL_AUTH import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_PERSONAL_AUTH
import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_PERSONAL_AUTH_COMPLETE import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_PERSONAL_AUTH_COMPLETE
import com.yidian.common.XRouterPathConstants.Companion.LOGIN_LIFE_CIRCLE import com.yidian.common.XRouterPathConstants.Companion.LOGIN_LIFE_CIRCLE
import com.yidian.common.XRouterPathConstants.Companion.MERCHANT_CENTER
import com.yidian.common.XRouterPathConstants.Companion.NEWS_CONTENT import com.yidian.common.XRouterPathConstants.Companion.NEWS_CONTENT
import com.yidian.common.XRouterPathConstants.Companion.NEWS_MAIN import com.yidian.common.XRouterPathConstants.Companion.NEWS_MAIN
import com.yidian.common.XRouterPathConstants.Companion.PERSONAL_ADD_STAFF import com.yidian.common.XRouterPathConstants.Companion.PERSONAL_ADD_STAFF
...@@ -31,6 +32,7 @@ import com.yidian.shenghuoquan.newscontent.personnel.ui.* ...@@ -31,6 +32,7 @@ import com.yidian.shenghuoquan.newscontent.personnel.ui.*
import com.yidian.shenghuoquan.newscontent.service.* import com.yidian.shenghuoquan.newscontent.service.*
import com.yidian.shenghuoquan.newscontent.ui.* import com.yidian.shenghuoquan.newscontent.ui.*
import com.yidian.shenghuoquan.newscontent.ui.auth.* import com.yidian.shenghuoquan.newscontent.ui.auth.*
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.shenghuoquan.newscontent.ui.idcard.IDCardTestActivity import com.yidian.shenghuoquan.newscontent.ui.idcard.IDCardTestActivity
import com.yidian.shenghuoquan.newscontent.ui.setting.SystemSetting import com.yidian.shenghuoquan.newscontent.ui.setting.SystemSetting
import com.yidian.utils.DensityUtil import com.yidian.utils.DensityUtil
...@@ -309,6 +311,17 @@ class NewsContentApplication : YdBaseApplication() { ...@@ -309,6 +311,17 @@ class NewsContentApplication : YdBaseApplication() {
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent) context.startActivity(intent)
} }
}),
XPageNode(MERCHANT_CENTER, 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, MerchantCenterActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
}) })
) )
) )
......
package com.yidian.shenghuoquan.newscontent.bean
/**
* author: yinjiacheng
* date: 6/9/21 11:05 AM
* description: 商户服务bean
*/
data class MerchantServiceBean(
// 功能id
val id: Long,
// 功能名称
val name: String,
// 分组id
val groupId: Long,
// 分组名称
val groupName: String,
// h5 url
val linkUrl: String?,
// 图标url
val iconUrl: String?
)
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.ui.center
import android.os.Bundle
import com.yidian.common.XRouterPathConstants
import com.yidian.common.base.BaseActivity
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.bean.MerchantServiceBean
import com.yidian.shenghuoquan.newscontent.databinding.ActivityMerchantCenterBinding
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView
/**
* author: yinjiacheng
* date: 6/8/21 8:11 PM
* description: 商户管理中心
*/
class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>() {
override fun createViewBinding(): ActivityMerchantCenterBinding {
return ActivityMerchantCenterBinding.inflate(layoutInflater)
}
override fun getXPageName(): String {
return XRouterPathConstants.MERCHANT_CENTER
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initView()
initListener()
}
private fun initView() {
viewBind.viewCommonHeader.tvTitle.text = resources.getString(R.string.management_center)
// Test
viewBind.lvLifeAccountLabel.setLifeAccountData(
"一点资讯生活号",
LifeAccountLabelView.STATUS_LIFE_ACCOUNT_NOT_AUTH,
null
)
// 本期需求无资产功能 仅做UI展示
viewBind.avMerchantAsset.setMerchantAssetData(8856.88, 675.00)
//Test
viewBind.svMerchantServicePublish.setTargetGroupServiceData(
"我要发布", arrayListOf(
MerchantServiceBean(101, "优惠券", 11, "我要发布", "", ""),
MerchantServiceBean(102, "招聘", 11, "我要发布", "", "")
)
)
viewBind.svMerchantServiceManagement.setTargetGroupServiceData(
"管理服务", arrayListOf(
MerchantServiceBean(103, "权限管理", 12, "管理服务", "", ""),
MerchantServiceBean(104, "人员管理", 12, "管理服务", "", "")
)
)
viewBind.svMerchantServiceOther.setTargetGroupServiceData(
"其他服务", arrayListOf(
MerchantServiceBean(105, "优惠券管理", 13, "其他服务", "", ""),
MerchantServiceBean(106, "职位招聘", 13, "其他服务", "", ""),
MerchantServiceBean(107, "门店管理", 13, "其他服务", "", ""),
MerchantServiceBean(108, "系统设置", 13, "其他服务", "", "")
)
)
}
private fun initListener() {
}
}
package com.yidian.shenghuoquan.newscontent.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountLabelBinding
/**
* author: yinjiacheng
* date: 6/8/21 9:39 PM
* description: 管理中心-生活号标签
*/
class LifeAccountLabelView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
) : ConstraintLayout(context, attrs, defStyle), View.OnClickListener {
companion object {
// 已认证
const val STATUS_LIFE_ACCOUNT_AUTH = 11
// 未认证
const val STATUS_LIFE_ACCOUNT_NOT_AUTH = 12
// 认证驳回
const val STATUS_LIFE_ACCOUNT_REJECT = 13
// 审核中
const val STATUS_LIFE_ACCOUNT_AUDIT = 14
// 个人
const val TYPE_LIFE_ACCOUNT_PERSONAL = 20
// 个体工商户
const val TYPE_LIFE_ACCOUNT_INDIVIDUAL_BUSINESS = 21
// 普通企业
const val TYPE_LIFE_ACCOUNT_COMMON_ENTERPRISE = 22
}
private val viewBinding = ViewLifeAccountLabelBinding.bind(
View.inflate(
getContext(),
R.layout.view_life_account_label,
this
)
)
init {
viewBinding.ivLifeAccountDetail.setOnClickListener(this)
}
/**
* 设置生活号信息
* @param name 生活号名称
* @param status 生活号状态
* @param type 生活号类型
*/
fun setLifeAccountData(name: String, status: Int, type: Int?) {
viewBinding.tvLifeAccountName.text = name
viewBinding.tvLifeAccountStatus.apply {
when (status) {
STATUS_LIFE_ACCOUNT_AUTH -> {
setBackgroundResource(R.drawable.shape_life_account_status_auth)
text = when (type) {
TYPE_LIFE_ACCOUNT_INDIVIDUAL_BUSINESS -> resources.getString(R.string.individual_business)
TYPE_LIFE_ACCOUNT_COMMON_ENTERPRISE -> resources.getString(R.string.common_enterprise)
TYPE_LIFE_ACCOUNT_PERSONAL -> resources.getString(R.string.personal_auth)
else -> ""
}
}
STATUS_LIFE_ACCOUNT_AUDIT -> {
setBackgroundResource(R.drawable.shape_life_account_status_audit)
text = resources.getString(R.string.auth_audit)
}
STATUS_LIFE_ACCOUNT_REJECT -> {
setBackgroundResource(R.drawable.shape_life_account_status_reject)
text = resources.getString(R.string.auth_reject)
}
else -> {
setBackgroundResource(R.drawable.shape_life_account_status_unauth)
text = resources.getString(R.string.not_auth)
}
}
}
}
override fun onClick(v: View?) {
if (v?.id == R.id.iv_life_account_detail) {
// TODO: 6/8/21 跳转生活号基本信息
}
}
}
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewMerchantAssetBinding
/**
* author: yinjiacheng
* date: 6/8/21 10:58 PM
* description: 商户资产
*/
class MerchantAssetView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
) : ConstraintLayout(context, attrs, defStyle), View.OnClickListener {
private val viewBinding = ViewMerchantAssetBinding.bind(
View.inflate(
getContext(),
R.layout.view_merchant_asset,
this
)
)
init {
viewBinding.tvWalletBalance.setOnClickListener(this)
}
/**
* 数据填充
* @param income 当月收入
* @param balance 钱包yue
*/
fun setMerchantAssetData(income: Double, balance: Double) {
viewBinding.tvMonthlyIncome.text = income.toString()
viewBinding.tvWalletBalance.text = balance.toString()
}
override fun onClick(v: View?) {
if (v?.id == R.id.tv_wallet_balance) {
// TODO: 6/8/21 跳转钱包
}
}
}
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.MerchantServiceAdapter
import com.yidian.shenghuoquan.newscontent.bean.MerchantServiceBean
import com.yidian.shenghuoquan.newscontent.databinding.ViewMerchantServiceBinding
/**
* author: yinjiacheng
* date: 6/9/21 12:16 AM
* description: 商户服务
*/
class MerchantServiceView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
) : ConstraintLayout(context, attrs, defStyle) {
private val viewBinding = ViewMerchantServiceBinding.bind(
View.inflate(
getContext(),
R.layout.view_merchant_service,
this
)
)
init {
initRecyclerView()
}
/**
* 设置当前分组数据
*/
fun setTargetGroupServiceData(groupName: String, data: ArrayList<MerchantServiceBean>?) {
viewBinding.tvTitle.text = groupName
((viewBinding.rvService.adapter) as MerchantServiceAdapter).updateData(data)
}
private fun initRecyclerView() {
viewBinding.rvService.adapter = MerchantServiceAdapter(context)
viewBinding.rvService.layoutManager =
GridLayoutManager(context, 4)
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_FFFFFFFF" />
<corners android:radius="12dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFEBECEF" />
<corners android:radius="21dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFEBECEF" />
<corners android:radius="21dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFEBECEF" />
<corners android:radius="21dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FFEBECEF" />
<corners android:radius="21dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
android:background="#FFF5F6F7">
<include
android:id="@+id/view_common_header"
layout="@layout/layout_common_header" />
<TextView
android:id="@+id/tv_switch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="19dp"
android:includeFontPadding="false"
android:text="@string/switch_life_account"
android:textColor="@color/color_FF1852F1"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="@id/view_common_header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@id/view_common_header" />
<com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView
android:id="@+id/lv_life_account_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_common_header" />
<com.yidian.shenghuoquan.newscontent.widget.MerchantAssetView
android:id="@+id/av_merchant_asset"
android:layout_width="match_parent"
android:layout_height="125dp"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/lv_life_account_label" />
<androidx.core.widget.NestedScrollView
android:id="@+id/sv_merchant_service"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="10dp"
android:paddingStart="15dp"
android:paddingEnd="15dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/av_merchant_asset">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.yidian.shenghuoquan.newscontent.widget.MerchantServiceView
android:id="@+id/sv_merchant_service_publish"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.yidian.shenghuoquan.newscontent.widget.MerchantServiceView
android:id="@+id/sv_merchant_service_management"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/sv_merchant_service_publish" />
<com.yidian.shenghuoquan.newscontent.widget.MerchantServiceView
android:id="@+id/sv_merchant_service_other"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/sv_merchant_service_management" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="72dp"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_service"
android:layout_width="46dp"
android:layout_height="46dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_service"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_service" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:paddingStart="19dp"
android:paddingTop="17dp"
android:paddingEnd="12dp"
android:paddingBottom="17dp">
<TextView
android:id="@+id/tv_life_account_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="265dp"
android:ellipsize="end"
android:includeFontPadding="false"
android:maxLines="2"
android:textColor="@color/color_333333"
android:textSize="17sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_life_account_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="12dp"
android:background="@drawable/shape_life_account_status_unauth"
android:includeFontPadding="false"
android:paddingStart="8dp"
android:paddingTop="2dp"
android:paddingEnd="8dp"
android:paddingBottom="2dp"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/tv_life_account_name"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_life_account_detail"
android:layout_width="23dp"
android:layout_height="23dp"
android:src="@mipmap/icon_next"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:foreground="@mipmap/bg_merchant_asset"
android:background="@drawable/shape_bg_merchant_center_card"
android:padding="19dp">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:text="@string/my_asset"
android:textColor="@color/color_333333"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_monthly_income"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:includeFontPadding="false"
android:textColor="@color/color_FFF26E3D"
android:textSize="27sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<TextView
android:id="@+id/tv_wallet_balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="146dp"
android:layout_marginTop="15dp"
android:includeFontPadding="false"
android:textColor="@color/color_FFF26E3D"
android:textSize="27sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:includeFontPadding="false"
android:text="@string/monthly_income"
android:textColor="@color/color_999999"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="@id/tv_monthly_income"
app:layout_constraintTop_toBottomOf="@id/tv_monthly_income" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:drawableEnd="@mipmap/icon_enter_wallet"
android:includeFontPadding="false"
android:text="@string/wallet_balance"
android:textColor="@color/color_999999"
android:textSize="12sp"
app:layout_constraintStart_toStartOf="@id/tv_wallet_balance"
app:layout_constraintTop_toBottomOf="@id/tv_wallet_balance" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:background="@drawable/shape_bg_merchant_center_card"
android:padding="19dp">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:textColor="@color/color_333333"
android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_service"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -47,4 +47,5 @@ ...@@ -47,4 +47,5 @@
<color name="color_8F000000">#8F000000</color> <color name="color_8F000000">#8F000000</color>
<color name="color_FF1852F1">#FF1852F1</color> <color name="color_FF1852F1">#FF1852F1</color>
<color name="color_FFFFFFFF">#FFFFFFFF</color> <color name="color_FFFFFFFF">#FFFFFFFF</color>
<color name="color_FFF26E3D">#FFF26E3D</color>
</resources> </resources>
\ No newline at end of file
...@@ -124,6 +124,19 @@ ...@@ -124,6 +124,19 @@
<string name="enterprise_legal_name">法人姓名</string> <string name="enterprise_legal_name">法人姓名</string>
<string name="enterprise_legal_mobile">法人手机号</string> <string name="enterprise_legal_mobile">法人手机号</string>
<string name="individual_business_manager_name">经营者姓名</string> <string name="individual_business_manager_name">经营者姓名</string>
<string name="individual_business">个体工商户</string>
<string name="common_enterprise">普通企业</string>
<string name="switch_life_account">切换主体</string>
<string name="not_auth">未认证</string>
<string name="auth_reject">认证驳回</string>
<string name="auth_audit">审核中</string>
<string name="my_asset">我的资产</string>
<string name="monthly_income">当月收入</string>
<string name="wallet_balance">钱包余额</string>
<string name="management_center">管理中心</string>
<string name="go_publish">我要发布</string>
<string name="management_service">管理服务</string>
<string name="other_service">其他服务</string>
<string name="my_staff">我的员工</string> <string name="my_staff">我的员工</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment