[dev_arch_opt_3.0]
[Change] [ 1、增加动态配置消息重心按钮背景资源 ] Signed-off-by: donghongyu <donghongyu@zhidaoauto.com>
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
|
||||
@@ -80,4 +80,8 @@
|
||||
<attr name="pnc_size" format="reference"/>
|
||||
</declare-styleable>
|
||||
|
||||
<declare-styleable name="DriverMsgBoxButtonView">
|
||||
<attr name="bgDrawable" format="reference"/>
|
||||
</declare-styleable>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user