[8.1.0]云控基础平台消息接入
This commit is contained in:
@@ -48,6 +48,7 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
private val fsm = 21 //fsm消息
|
||||
private val nde = 22 //NDE消息车龙
|
||||
private val ota = 23 //OTA升级消息
|
||||
private val cloud = 24 //云控基础平台
|
||||
|
||||
private val none = -1
|
||||
|
||||
@@ -157,6 +158,12 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
.inflate(R.layout.item_tab_ota,parent,false)
|
||||
return MsgBoxOTA(view)
|
||||
}
|
||||
//云控基础平台
|
||||
cloud -> {
|
||||
val view = LayoutInflater.from(parent.context)
|
||||
.inflate(R.layout.item_tab_cloud,parent,false)
|
||||
return MsgBoxCloud(view)
|
||||
}
|
||||
//V2X消息
|
||||
else -> {
|
||||
val view = LayoutInflater.from(parent.context)
|
||||
@@ -579,6 +586,17 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
}
|
||||
}
|
||||
}
|
||||
//云控基础平台
|
||||
is MsgBoxCloud->{
|
||||
data?.let {
|
||||
val cloudMsg = it[position].bean as CloudControlMsg
|
||||
holder.ivCloudImage.setImageDrawable(ResourcesCompat.getDrawable
|
||||
(activity.resources,EventTypeEnumNew.getUpdateIconRes(cloudMsg.msgType),null))
|
||||
holder.tvCloudTitle.text = cloudMsg.title
|
||||
holder.tvCloudContent.text = cloudMsg.des
|
||||
holder.tvCloudTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -625,6 +643,8 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
nde
|
||||
} else if(data!![position].type == MsgBoxType.OTA){
|
||||
ota
|
||||
} else if(data!![position].type == MsgBoxType.CLOUD){
|
||||
cloud
|
||||
} else if(data!![position].type == MsgBoxType.V2X || data!![position].type == MsgBoxType.OBU){
|
||||
v2x
|
||||
} else {
|
||||
@@ -748,4 +768,12 @@ class MsgBoxTabAdapter(private val activity: Activity) :
|
||||
var tvOTAContent: TextView = itemView.findViewById(R.id.tvOTAContent)
|
||||
}
|
||||
|
||||
//云控基础平台
|
||||
class MsgBoxCloud(itemView: View) : RecyclerView.ViewHolder(itemView){
|
||||
var ivCloudImage: ImageView = itemView.findViewById(R.id.ivCloudImage)
|
||||
var tvCloudTitle: TextView = itemView.findViewById(R.id.tvCloudTitle)
|
||||
var tvCloudTime: TextView = itemView.findViewById(R.id.tvCloudTime)
|
||||
var tvCloudContent: TextView = itemView.findViewById(R.id.tvCloudContent)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -50,6 +50,7 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
private val none: Int = 10
|
||||
private val nde: Int = 11
|
||||
private val ota: Int = 12
|
||||
private val cloud: Int = 13 //云控基础平台
|
||||
|
||||
private var changeViewListener: ChangeViewListener?=null
|
||||
|
||||
@@ -118,6 +119,11 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_ota,parent,false)
|
||||
return BubbleOTAHolder(view)
|
||||
}
|
||||
//云控基础平台
|
||||
cloud -> {
|
||||
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_cloud,parent,false)
|
||||
return BubbleCloudHolder(view)
|
||||
}
|
||||
else -> {
|
||||
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_bubble_v2x,parent,false)
|
||||
return BubbleV2XHolder(view)
|
||||
@@ -360,6 +366,17 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
}
|
||||
}
|
||||
}
|
||||
//云控基础平台消息
|
||||
is BubbleCloudHolder -> {
|
||||
data?.let {
|
||||
val cloudMsg = it[position].msgBoxBean.bean as CloudControlMsg
|
||||
holder.ivCloudImage.setImageDrawable(ResourcesCompat.getDrawable
|
||||
(activity.resources,EventTypeEnumNew.getUpdateIconRes(cloudMsg.msgType),null))
|
||||
holder.tvCloudTitle.text = cloudMsg.title
|
||||
holder.tvCloudContent.text = cloudMsg.des
|
||||
holder.tvCloudTime.text = TimeUtils.millis2String(it[position].msgBoxBean.timestamp,getHourMinFormat())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val msgBoxBean: MsgBoxCountDownBean = data!![position]
|
||||
@@ -419,6 +436,8 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
nde
|
||||
}else if(data!![position].msgBoxBean.type == MsgBoxType.OTA){
|
||||
ota
|
||||
}else if(data!![position].msgBoxBean.type == MsgBoxType.CLOUD){
|
||||
cloud
|
||||
}
|
||||
else {
|
||||
v2x
|
||||
@@ -526,6 +545,14 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A
|
||||
var tvOTAContent: TextView = itemView.findViewById(R.id.tvOTAContent)
|
||||
}
|
||||
|
||||
//云控基础平台消息
|
||||
class BubbleCloudHolder(itemView: View): RecyclerView.ViewHolder(itemView){
|
||||
var ivCloudImage: ImageView = itemView.findViewById(R.id.ivCloudImage)
|
||||
var tvCloudTitle: TextView = itemView.findViewById(R.id.tvCloudTitle)
|
||||
var tvCloudTime: TextView = itemView.findViewById(R.id.tvCloudTime)
|
||||
var tvCloudContent: TextView = itemView.findViewById(R.id.tvCloudContent)
|
||||
}
|
||||
|
||||
fun setChangeListener(listener: ChangeViewListener){
|
||||
changeViewListener = listener
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
private val fsm = 21 //fsm消息
|
||||
private val nde = 22 //NDE消息
|
||||
private val ota = 23 //OTA升级消息
|
||||
private val cloud = 24 //云控基础平台
|
||||
private val none = -1
|
||||
|
||||
|
||||
@@ -148,6 +149,12 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
.inflate(R.layout.item_msg_box_ota,parent,false)
|
||||
return MsgBoxOta(view)
|
||||
}
|
||||
//云控基础平台
|
||||
cloud->{
|
||||
val view = LayoutInflater.from(parent.context)
|
||||
.inflate(R.layout.item_msg_box_cloud,parent,false)
|
||||
return MsgBoxCloud(view)
|
||||
}
|
||||
else -> {
|
||||
val view = LayoutInflater.from(parent.context)
|
||||
.inflate(R.layout.item_msg_box_v2x, parent, false)
|
||||
@@ -745,6 +752,17 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
}
|
||||
}
|
||||
}
|
||||
//云控基础平台消息
|
||||
is MsgBoxCloud -> {
|
||||
data?.let {
|
||||
val cloudMsg = it[position].bean as CloudControlMsg
|
||||
holder.ivCloudImage.setImageDrawable(ResourcesCompat.getDrawable
|
||||
(activity.resources,EventTypeEnumNew.getUpdateIconRes(cloudMsg.msgType),null))
|
||||
holder.tvCloudTitle.text = cloudMsg.title
|
||||
holder.tvCloudContent.text = cloudMsg.des
|
||||
holder.tvCloudTime.text = TimeUtils.millis2String(it[position].timestamp,getHourMinFormat())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -791,6 +809,8 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
nde
|
||||
} else if(data!![position].type == MsgBoxType.OTA){
|
||||
ota
|
||||
} else if(data!![position].type == MsgBoxType.CLOUD){
|
||||
cloud
|
||||
} else if(data!![position].type == MsgBoxType.V2X || data!![position].type == MsgBoxType.OBU){
|
||||
v2x
|
||||
} else {
|
||||
@@ -930,4 +950,11 @@ class DriverMsgBoxListAdapter(private val activity: Activity) :
|
||||
var ivOTAImage: ImageView = itemView.findViewById(R.id.ivOTAImage)
|
||||
}
|
||||
|
||||
//云控基础平台
|
||||
class MsgBoxCloud(itemView: View) : RecyclerView.ViewHolder(itemView){
|
||||
var ivCloudImage: ImageView = itemView.findViewById(R.id.ivCloudImage)
|
||||
var tvCloudTitle: TextView = itemView.findViewById(R.id.tvCloudTitle)
|
||||
var tvCloudTime: TextView = itemView.findViewById(R.id.tvCloudTime)
|
||||
var tvCloudContent: TextView = itemView.findViewById(R.id.tvCloudContent)
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@ import com.mogo.eagle.core.data.deva.report.ReportEntity
|
||||
import com.mogo.eagle.core.data.enums.DataSourceType
|
||||
import com.mogo.eagle.core.data.enums.EventTypeEnumNew
|
||||
import com.mogo.eagle.core.data.msgbox.AutopilotMsg
|
||||
import com.mogo.eagle.core.data.msgbox.CloudControlMsg
|
||||
import com.mogo.eagle.core.data.msgbox.FMInfoMsg
|
||||
import com.mogo.eagle.core.data.msgbox.FSMMsg
|
||||
import com.mogo.eagle.core.data.msgbox.MsgBoxCountDownBean
|
||||
@@ -52,6 +53,7 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
private val report: Int = 3
|
||||
private val nde: Int = 4
|
||||
private val ota: Int = 5
|
||||
private val cloud: Int = 6
|
||||
|
||||
|
||||
fun setData(data: ArrayList<MsgBoxCountDownBean>){
|
||||
@@ -80,6 +82,11 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_toast_ota,parent,false)
|
||||
BubbleOTAHolder(view)
|
||||
}
|
||||
//云控基础平台
|
||||
cloud -> {
|
||||
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_toast_cloud,parent,false)
|
||||
BubbleCloudHolder(view)
|
||||
}
|
||||
else -> {
|
||||
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_msg_toast_v2x,parent,false)
|
||||
BubbleV2XHolder(view)
|
||||
@@ -176,6 +183,16 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
}
|
||||
}
|
||||
}
|
||||
//云控基础平台消息
|
||||
is BubbleCloudHolder->{
|
||||
data?.let {
|
||||
val cloudMsg = it[position].msgBoxBean.bean as CloudControlMsg
|
||||
holder.ivCloudImage.setImageDrawable(ResourcesCompat.getDrawable
|
||||
(activity.resources,EventTypeEnumNew.getUpdateIconRes(cloudMsg.msgType),null))
|
||||
holder.tvCloudTitle.text = cloudMsg.title
|
||||
holder.tvCloudContent.text = cloudMsg.des
|
||||
}
|
||||
}
|
||||
//V2X消息
|
||||
is BubbleV2XHolder -> {
|
||||
data?.let {
|
||||
@@ -356,6 +373,9 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
MsgBoxType.OTA ->{
|
||||
ota
|
||||
}
|
||||
MsgBoxType.CLOUD ->{
|
||||
cloud
|
||||
}
|
||||
else -> {
|
||||
v2x
|
||||
}
|
||||
@@ -408,4 +428,10 @@ class MsgBoxToastAdapter(private val activity: Activity) : RecyclerView.Adapter<
|
||||
var ivOTAImage: ImageView = itemView.findViewById(R.id.ivOTAImage)
|
||||
}
|
||||
|
||||
//云控基础平台
|
||||
class BubbleCloudHolder(itemView: View): RecyclerView.ViewHolder(itemView){
|
||||
var ivCloudImage: ImageView = itemView.findViewById(R.id.ivCloudImage)
|
||||
var tvCloudTitle: TextView = itemView.findViewById(R.id.tvCloudTitle)
|
||||
var tvCloudContent: TextView = itemView.findViewById(R.id.tvCloudContent)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="@dimen/dp_804"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="@dimen/dp_160"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@drawable/bg_msg_box_v2x"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginBottom="7dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCloudImage"
|
||||
android:layout_width="110dp"
|
||||
android:layout_height="110dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_margin="25dp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/tvCloudContent"
|
||||
app:layout_constraintLeft_toRightOf="@id/ivCloudImage"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:layout_marginBottom="@dimen/dp_5"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="@id/tvCloudTitle"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tvCloudTitle"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:textColor="#80FFFFFF"
|
||||
android:textSize="@dimen/sp_24"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudContent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvCloudTitle"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tvCloudTitle"
|
||||
app:layout_constraintRight_toRightOf="@id/tvCloudTime"
|
||||
android:textColor="#B3FFFFFF"
|
||||
android:textSize="@dimen/sp_28"
|
||||
android:layout_marginBottom="@dimen/dp_5"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/clCloudLayout"
|
||||
android:layout_width="@dimen/dp_804"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="@dimen/dp_160"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@drawable/bg_msg_box_v2x"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginBottom="7dp"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCloudImage"
|
||||
android:layout_width="110dp"
|
||||
android:layout_height="110dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:layout_margin="25dp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toTopOf="@id/tvCloudContent"
|
||||
app:layout_constraintLeft_toRightOf="@id/ivCloudImage"
|
||||
android:layout_marginStart="@dimen/dp_15"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:layout_marginBottom="@dimen/dp_5"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="@id/tvCloudTitle"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tvCloudTitle"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginEnd="25dp"
|
||||
android:textColor="#80FFFFFF"
|
||||
android:textSize="@dimen/sp_24"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudContent"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvCloudTitle"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tvCloudTitle"
|
||||
app:layout_constraintRight_toRightOf="@id/tvCloudTime"
|
||||
android:textColor="#B3FFFFFF"
|
||||
android:textSize="@dimen/sp_28"
|
||||
android:layout_marginTop="@dimen/dp_5"
|
||||
android:layout_marginBottom="@dimen/dp_5"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/clCloudLayout"
|
||||
android:layout_width="@dimen/dp_694"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:background="@drawable/bg_msg_box_toast"
|
||||
android:layout_gravity="center_horizontal"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCloudImage"
|
||||
android:layout_width="@dimen/dp_120"
|
||||
android:layout_height="@dimen/dp_120"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudTitle"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/ivCloudImage"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="@dimen/sp_40"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudContent"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvCloudTitle"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tvCloudTitle"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:layout_marginTop="@dimen/dp_6"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -0,0 +1,54 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:minHeight="@dimen/dp_180"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivCloudImage"
|
||||
android:layout_width="@dimen/dp_120"
|
||||
android:layout_height="@dimen/dp_120"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_14"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudTitle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/ivCloudImage"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:textSize="@dimen/sp_38"
|
||||
android:textColor="@color/white"
|
||||
android:textStyle="bold"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudTime"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="@id/tvCloudTitle"
|
||||
app:layout_constraintBottom_toBottomOf="@id/tvCloudTitle"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:textColor="#999999"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvCloudContent"
|
||||
android:layout_width="@dimen/dp_0"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toBottomOf="@id/tvCloudTitle"
|
||||
app:layout_constraintLeft_toLeftOf="@id/tvCloudTitle"
|
||||
app:layout_constraintRight_toRightOf="@id/tvCloudTime"
|
||||
android:textSize="@dimen/sp_32"
|
||||
android:textColor="#CCCCCC"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:paddingBottom="@dimen/dp_30"
|
||||
/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user