[dev_arch_opt_3.0]

[Change]
[
1、增加动态配置消息重心按钮背景资源
]

Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
donghongyu
2023-03-06 18:28:43 +08:00
parent e160184ac7
commit fa0555082a
6 changed files with 35 additions and 8 deletions

View File

@@ -4,12 +4,14 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
import androidx.appcompat.content.res.AppCompatResources
import androidx.constraintlayout.widget.ConstraintLayout
import com.mogo.eagle.core.data.msgbox.MsgBoxBean
import com.mogo.eagle.core.function.api.datacenter.msgbox.IMsgBoxEventListener
import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxEventListenerManager
import com.mogo.eagle.core.function.hmi.R
import kotlinx.android.synthetic.main.view_driver_msg_box_button.view.*
import kotlinx.android.synthetic.main.view_driver_msg_box_button.view.cbMsgBoxDriver
import kotlinx.android.synthetic.main.view_driver_msg_box_button.view.msgBoxTipView
/**
* @author XuXinChao
@@ -20,7 +22,7 @@ class DriverMsgBoxButtonView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
):ConstraintLayout(context, attrs, defStyleAttr), IMsgBoxEventListener {
) : ConstraintLayout(context, attrs, defStyleAttr), IMsgBoxEventListener {
companion object {
const val TAG = "DriverMsgBoxButtonView"
@@ -28,21 +30,35 @@ class DriverMsgBoxButtonView @JvmOverloads constructor(
private var clickListener: ClickListener? = null
init{
private val bgResources: Int
init {
LayoutInflater.from(context).inflate(R.layout.view_driver_msg_box_button, this, true)
val a = context.obtainStyledAttributes(
attrs,
R.styleable.DriverMsgBoxButtonView,
defStyleAttr,
0
)
bgResources = a.getResourceId(
R.styleable.DriverMsgBoxButtonView_bgDrawable,
R.drawable.selector_msg_box
)
initView()
}
private fun initView(){
private fun initView() {
cbMsgBoxDriver.setOnCheckedChangeListener { _, isChecked ->
clickListener?.showMsgBoxList(isChecked)
msgBoxTipView.visibility = View.GONE
}
cbMsgBoxDriver.background = AppCompatResources.getDrawable(context, bgResources)
}
override fun onAttachedToWindow() {
super.onAttachedToWindow()
CallerMsgBoxEventListenerManager.addListener(TAG,this)
CallerMsgBoxEventListenerManager.addListener(TAG, this)
}
override fun onDetachedFromWindow() {
@@ -59,9 +75,9 @@ class DriverMsgBoxButtonView @JvmOverloads constructor(
* @param isShow true:展示false:不展示
*/
override fun onUpdateTipEvent(isShow: Boolean) {
if(isShow){
if (isShow) {
msgBoxTipView.visibility = View.VISIBLE
}else{
} else {
msgBoxTipView.visibility = View.GONE
}
}
@@ -82,7 +98,7 @@ class DriverMsgBoxButtonView @JvmOverloads constructor(
this.clickListener = clickListener
}
interface ClickListener{
interface ClickListener {
fun showMsgBoxList(show: Boolean)
}

View File

@@ -80,4 +80,8 @@
<attr name="pnc_size" format="reference"/>
</declare-styleable>
<declare-styleable name="DriverMsgBoxButtonView">
<attr name="bgDrawable" format="reference"/>
</declare-styleable>
</resources>