Merge branch 'dev_robotaxi-d_240912_6.7.0' of gitlab.zhidaoauto.com:SCA/L4HA/AndroidApp/MoGoEagleEye into dev_robotaxi-d_240912_6.7.0
This commit is contained in:
@@ -4,6 +4,8 @@ import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
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 com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_HMI
|
||||
@@ -18,9 +20,9 @@ class BoneTabLayout @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||
) : ConstraintLayout(context, attrs, defStyleAttr), IMsgBoxEventListener {
|
||||
|
||||
companion object{
|
||||
companion object {
|
||||
private const val TAG = "BoneTabLayout"
|
||||
}
|
||||
|
||||
@@ -42,13 +44,23 @@ class BoneTabLayout @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
private var logOut:(() -> Unit)? = null
|
||||
private var logOut: (() -> Unit)? = null
|
||||
|
||||
init {
|
||||
LayoutInflater.from(context).inflate(R.layout.view_bone_tab, this, true)
|
||||
initView()
|
||||
}
|
||||
|
||||
override fun onAttachedToWindow() {
|
||||
super.onAttachedToWindow()
|
||||
CallerMsgBoxEventListenerManager.addListener(TAG, this)
|
||||
}
|
||||
|
||||
override fun onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow()
|
||||
CallerMsgBoxEventListenerManager.removeListener(TAG)
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
tabSwitchCarInfo.setOnClickListener {
|
||||
updateTabType(TabType.CAR_INFO)
|
||||
@@ -69,15 +81,15 @@ class BoneTabLayout @JvmOverloads constructor(
|
||||
|
||||
}
|
||||
|
||||
fun setCarNo(carNo: String){
|
||||
fun setCarNo(carNo: String) {
|
||||
carInfoTabView.setCarNo(carNo)
|
||||
}
|
||||
|
||||
fun setLoginInfo(loginNo: String){
|
||||
fun setLoginInfo(loginNo: String) {
|
||||
carInfoTabView.setLoginInfo(loginNo)
|
||||
}
|
||||
|
||||
fun loginOut(logOut:(() -> Unit)){
|
||||
fun loginOut(logOut: (() -> Unit)) {
|
||||
this.logOut = logOut
|
||||
}
|
||||
|
||||
@@ -100,7 +112,7 @@ class BoneTabLayout @JvmOverloads constructor(
|
||||
TabType.MSG_INFO -> {
|
||||
tabSwitchMsgBox.switchTab(check)
|
||||
if (check) {
|
||||
|
||||
tabSwitchMsgBox.updateNotice(false)
|
||||
} else {
|
||||
|
||||
}
|
||||
@@ -128,4 +140,8 @@ class BoneTabLayout @JvmOverloads constructor(
|
||||
}
|
||||
}
|
||||
|
||||
override fun onUpdateTipEvent(isShow: Boolean) {
|
||||
super.onUpdateTipEvent(isShow)
|
||||
tabSwitchMsgBox.updateNotice(isShow)
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import com.mogo.eagle.core.function.hmi.R
|
||||
import kotlinx.android.synthetic.main.view_tab_switch.view.ivTabClick
|
||||
import kotlinx.android.synthetic.main.view_tab_switch.view.ivTabClickBg
|
||||
import kotlinx.android.synthetic.main.view_tab_switch.view.ivTabDefault
|
||||
import kotlinx.android.synthetic.main.view_tab_switch.view.vTabNotice
|
||||
|
||||
class TabSwitchView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
@@ -55,4 +56,8 @@ class TabSwitchView @JvmOverloads constructor(
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
fun updateNotice(check: Boolean) {
|
||||
vTabNotice.visibility = if (check) View.VISIBLE else View.GONE
|
||||
}
|
||||
}
|
||||
@@ -60,7 +60,7 @@ class FSMStatusDetailView @JvmOverloads constructor(
|
||||
val c = Color.parseColor("#FF4E41")
|
||||
tvTitle?.setTextColor(c)
|
||||
}
|
||||
addFsmMsgItemView(msgArray)
|
||||
addFsmMsgItemView(msgArray, true)
|
||||
|
||||
//监听最新 FSM 状态
|
||||
StatusManager.addListener(TAG, this)
|
||||
@@ -69,16 +69,16 @@ class FSMStatusDetailView @JvmOverloads constructor(
|
||||
private fun setFsmNormalStatus() {
|
||||
tvTitle?.text = "FSM正常"
|
||||
runCatching {
|
||||
val c = Color.parseColor("#2EACFF")
|
||||
val c = Color.parseColor("#26C14F")
|
||||
tvTitle?.setTextColor(c)
|
||||
}
|
||||
removeFsmMsgItemView()
|
||||
addFsmMsgItemView(ArrayList<String>().also { it += "FSM异常状态已恢复" }, false)
|
||||
}
|
||||
|
||||
private fun setFsmUnknownStatus() {
|
||||
tvTitle?.text = "FSM状态未知"
|
||||
runCatching {
|
||||
val c = Color.parseColor("#FFFFFF")
|
||||
val c = Color.parseColor("#FFCD3D")
|
||||
tvTitle?.setTextColor(c)
|
||||
}
|
||||
removeFsmMsgItemView()
|
||||
@@ -93,7 +93,7 @@ class FSMStatusDetailView @JvmOverloads constructor(
|
||||
removeFsmMsgItemView()
|
||||
}
|
||||
|
||||
private fun addFsmMsgItemView(msgArray: ArrayList<String>) {
|
||||
private fun addFsmMsgItemView(msgArray: ArrayList<String>, isError: Boolean) {
|
||||
if (llFsmMsgContainerLayout == null) {
|
||||
Logger.e(TAG, "addFsmMsmItemView llFsmMsgContainerLayout is null")
|
||||
return
|
||||
@@ -104,6 +104,7 @@ class FSMStatusDetailView @JvmOverloads constructor(
|
||||
val itemView: View = LayoutInflater.from(context)
|
||||
.inflate(R.layout.view_status_fsm_item_layout, llFsmMsgContainerLayout, false)
|
||||
val leftImageView: ImageView = itemView.findViewById(R.id.leftImageView)
|
||||
leftImageView.setImageResource(if (isError) R.drawable.icon_fsm_error_red_arrow else R.drawable.icon_fsm_error_green_arrow)
|
||||
val rightTextView: TextView = itemView.findViewById(R.id.rightTextView)
|
||||
rightTextView.text = it
|
||||
llFsmMsgContainerLayout?.addView(itemView)
|
||||
|
||||
@@ -26,13 +26,10 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
|
||||
private const val TAG = "OfflineMapDialog"
|
||||
}
|
||||
|
||||
private var roundRootLayout: ConstraintLayout? = null
|
||||
private var offlineTitleView: TextView? = null
|
||||
private var leftView: TextView? = null
|
||||
private var rightView: TextView? = null
|
||||
private var okView: TextView? = null
|
||||
private var vertLineView: View? = null
|
||||
private var horizontalLineView: View? = null
|
||||
private var cacheTipView: TextView? = null
|
||||
|
||||
private var progressBar: ProgressBar? = null
|
||||
@@ -48,22 +45,18 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
|
||||
init {
|
||||
setContentView(R.layout.dialog_offline_map)
|
||||
setCanceledOnTouchOutside(true)
|
||||
|
||||
initView()
|
||||
}
|
||||
|
||||
private fun initView() {
|
||||
roundRootLayout = findViewById(R.id.roundRootLayout)
|
||||
offlineTitleView = findViewById(R.id.tv_cache_title)
|
||||
progressBar = findViewById(R.id.progressBar)
|
||||
downloadPercentView = findViewById(R.id.tvDownloadProgress)
|
||||
leftView = findViewById(R.id.tv_cache_confirm)
|
||||
rightView = findViewById(R.id.tv_cache_cancel)
|
||||
okView = findViewById(R.id.tv_cache_ok)
|
||||
vertLineView = findViewById(R.id.view_vertical_line)
|
||||
horizontalLineView = findViewById(R.id.view_horizontal_line)
|
||||
cacheTipView = findViewById(R.id.tv_cache_tips)
|
||||
downloadResultImg = findViewById(R.id.iv_download_Status)
|
||||
downloadResultImg = findViewById(R.id.ivDownLoadStatus)
|
||||
|
||||
leftView?.setOnClickListener {
|
||||
when {
|
||||
@@ -142,20 +135,13 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
|
||||
}
|
||||
|
||||
private fun change2NewStyle() {
|
||||
roundRootLayout?.layoutParams?.width = AutoSizeUtils.dp2px(context, 1110f)
|
||||
roundRootLayout?.layoutParams?.height = AutoSizeUtils.dp2px(context, 668f)
|
||||
|
||||
val titleParams = offlineTitleView?.layoutParams as ConstraintLayout.LayoutParams
|
||||
titleParams.topMargin = AutoSizeUtils.dp2px(context, 51f)
|
||||
|
||||
val horizontalLineParams = horizontalLineView?.layoutParams as ConstraintLayout.LayoutParams
|
||||
horizontalLineParams.topMargin = AutoSizeUtils.dp2px(context, 374f)
|
||||
titleParams.topMargin = AutoSizeUtils.dp2px(context, 52f)
|
||||
|
||||
progressBar?.visibility = View.VISIBLE
|
||||
downloadPercentView?.visibility = View.VISIBLE
|
||||
okView?.visibility = View.VISIBLE
|
||||
|
||||
vertLineView?.visibility = View.GONE
|
||||
leftView?.visibility = View.GONE
|
||||
rightView?.visibility = View.GONE
|
||||
cacheTipView?.visibility = View.INVISIBLE
|
||||
@@ -169,10 +155,8 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
|
||||
isLoading -> {
|
||||
okView?.text = context.resources.getString(R.string.cancel)
|
||||
offlineTitleView?.text = context.resources.getString(R.string.offline_downloading)
|
||||
downloadResultImg?.visibility = View.GONE
|
||||
}
|
||||
else -> {
|
||||
downloadResultImg?.visibility = View.VISIBLE
|
||||
when {
|
||||
isSuccess -> {
|
||||
okView?.visibility = View.VISIBLE
|
||||
@@ -182,7 +166,7 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
|
||||
progressBar?.visibility = View.GONE
|
||||
downloadPercentView?.visibility = View.GONE
|
||||
downloadResultImg?.background =
|
||||
ContextCompat.getDrawable(context, R.drawable.download_success_icon)
|
||||
ContextCompat.getDrawable(context, R.drawable.icon_map_cache_success)
|
||||
hmiAction("$M_HMI$TAG", mapOf("cacheMap" to true))
|
||||
}
|
||||
else -> {
|
||||
@@ -196,10 +180,9 @@ class OfflineMapDialog(context: Context) : BaseFloatDialog(context) {
|
||||
leftView?.visibility = View.VISIBLE
|
||||
leftView?.text = context.resources.getString(R.string.ok_tip)
|
||||
rightView?.visibility = View.VISIBLE
|
||||
vertLineView?.visibility = View.VISIBLE
|
||||
rightView?.text = context.resources.getString(R.string.retry)
|
||||
downloadResultImg?.background =
|
||||
ContextCompat.getDrawable(context, R.drawable.download_fail_icon)
|
||||
ContextCompat.getDrawable(context, R.drawable.icon_map_cache_failed)
|
||||
hmiAction("$M_HMI$TAG", mapOf("cacheMap" to false))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ public abstract class MainMoGoApplication extends AbsMogoApplication {
|
||||
// BIZ
|
||||
MogoModulePaths.addModuleFunctionServer(new MogoModule(MogoServicePaths.PATH_FUNC_BIZ, "IMoGoNoticeProvider"));
|
||||
// 后置 车聊聊,IM
|
||||
MogoModulePaths.addModuleFunctionServer(new MogoModule(ChatConsts.CHAT_PROVIDER_PATH, ChatConsts.CHAT_MODULE_NAME));
|
||||
// MogoModulePaths.addModuleFunctionServer(new MogoModule(ChatConsts.CHAT_PROVIDER_PATH, ChatConsts.CHAT_MODULE_NAME));
|
||||
// 司机身份专属
|
||||
if (AppIdentityModeUtils.isDriver(FunctionBuildConfig.appIdentityMode)) {
|
||||
// 后置 地图数据收集模块
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 277 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 265 B |
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="#000000" />
|
||||
<solid android:color="#B3000000" />
|
||||
<corners android:radius="@dimen/dp_30" />
|
||||
</shape>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?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_B3_000000"/>
|
||||
<corners android:radius="@dimen/dp_30"/>
|
||||
</shape>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
|
||||
<gradient android:startColor="@color/color_3B3D44" android:endColor="@color/color_2E323A" android:angle="270"/>
|
||||
<stroke android:color="@color/color_99_6C6C6C" android:width="@dimen/dp_2"/>
|
||||
<corners android:radius="@dimen/dp_50"/>
|
||||
</shape>
|
||||
|
||||
@@ -3,18 +3,18 @@
|
||||
android:shape="rectangle">
|
||||
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:angle="180"
|
||||
android:endColor="#2E323A"
|
||||
android:startColor="#3B3D44" />
|
||||
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:width="2px"
|
||||
android:color="#FFFFFF">
|
||||
<shape>
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#6C6C6C"
|
||||
android:startColor="#FFFFFF" />
|
||||
android:endColor="#996C6C6C"
|
||||
android:startColor="#40FFFFFF" />
|
||||
</shape>
|
||||
</stroke>
|
||||
|
||||
|
||||
@@ -2,121 +2,99 @@
|
||||
<com.mogo.eagle.core.widget.RoundConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/roundRootLayout"
|
||||
android:layout_width="840dp"
|
||||
android:layout_height="488dp"
|
||||
android:background="@color/dialog_bg_color_90_percent"
|
||||
android:layout_width="@dimen/dp_900"
|
||||
android:layout_height="@dimen/dp_620"
|
||||
android:background="@drawable/bg_map_offline_cache"
|
||||
app:roundLayoutRadius="32dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivDownLoadStatus"
|
||||
android:layout_width="@dimen/dp_140"
|
||||
android:layout_height="@dimen/dp_140"
|
||||
android:layout_marginTop="@dimen/dp_87"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:src="@drawable/icon_map_update"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_cache_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="66dp"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:text="@string/offline_map_cache_tip"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="56dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_45"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/ivDownLoadStatus" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_cache_tips"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="52dp"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:text="@string/cache_offline_map_content"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="43dp"
|
||||
android:visibility="visible"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_36"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_cache_title" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
android:layout_width="800dp"
|
||||
android:layout_height="42dp"
|
||||
style="?android:attr/progressBarStyleHorizontal"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_cache_title"
|
||||
android:layout_marginTop="113dp"
|
||||
android:max="100"
|
||||
android:progress="0"
|
||||
android:progressDrawable="@drawable/progressbar_corner_bg"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_cache_title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvDownloadProgress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/progressBar"
|
||||
android:layout_marginTop="50dp"
|
||||
android:text="0%"
|
||||
android:textColor="#06D1ED"
|
||||
android:textSize="43dp"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_download_Status"
|
||||
android:layout_width="174dp"
|
||||
android:layout_height="174dp"
|
||||
android:layout_marginTop="96dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_cache_title"
|
||||
android:visibility="gone"
|
||||
/>
|
||||
|
||||
<View
|
||||
android:id="@+id/view_horizontal_line"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:layout_marginTop="205dp"
|
||||
android:background="#66B8BFE8"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_cache_title" />
|
||||
|
||||
<View
|
||||
android:id="@+id/view_vertical_line"
|
||||
android:layout_width="2dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="#66B8BFE8"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/view_horizontal_line" />
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/progressBar" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_cache_confirm"
|
||||
android:layout_width="419dp"
|
||||
android:layout_height="137dp"
|
||||
android:layout_width="@dimen/dp_356"
|
||||
android:layout_height="@dimen/dp_120"
|
||||
android:gravity="center"
|
||||
android:text="@string/confirm"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="46dp"
|
||||
android:background="@drawable/bg_map_offline_btn"
|
||||
android:textColor="@color/color_2EACFF"
|
||||
android:textSize="@dimen/dp_40"
|
||||
android:layout_marginStart="@dimen/dp_65"
|
||||
android:layout_marginBottom="@dimen/dp_62"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/view_vertical_line"
|
||||
app:layout_constraintTop_toBottomOf="@id/view_horizontal_line" />
|
||||
app:layout_constraintLeft_toLeftOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_cache_cancel"
|
||||
android:layout_width="419dp"
|
||||
android:layout_height="137dp"
|
||||
android:layout_width="@dimen/dp_356"
|
||||
android:layout_height="@dimen/dp_120"
|
||||
android:gravity="center"
|
||||
android:text="@string/cancel"
|
||||
android:textColor="#FFFFFFFF"
|
||||
android:textSize="46dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/dp_40"
|
||||
android:background="@drawable/bg_map_offline_btn"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toRightOf="@id/view_vertical_line"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/view_horizontal_line" />
|
||||
android:layout_marginEnd="@dimen/dp_65"
|
||||
android:layout_marginBottom="@dimen/dp_62"
|
||||
app:layout_constraintRight_toRightOf="parent"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_cache_ok"
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="@dimen/dp_960"
|
||||
android:layout_height="@dimen/dp_216"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:background="@drawable/bg_tab_switch"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:layout_marginStart="@dimen/dp_20"
|
||||
|
||||
@@ -4,13 +4,14 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="top"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/leftImageView"
|
||||
android:layout_width="@dimen/dp_18"
|
||||
android:layout_height="@dimen/dp_18"
|
||||
android:layout_gravity="top"
|
||||
android:layout_gravity="top|center_horizontal"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:src="@drawable/icon_fsm_error_red_arrow" />
|
||||
|
||||
|
||||
@@ -42,9 +42,12 @@
|
||||
|
||||
<View
|
||||
android:id="@+id/vTabNotice"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="@dimen/dp_25"
|
||||
android:layout_height="@dimen/dp_25"
|
||||
android:background="@drawable/icon_red_notice"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_30"
|
||||
android:layout_marginStart="@dimen/dp_124"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -30,6 +30,9 @@
|
||||
<color name="color_131415">#131415</color>
|
||||
<color name="color_B2BED9">#B2BED9</color>
|
||||
<color name="color_FF1943">#FF1943</color>
|
||||
<color name="color_3B3D44">#3B3D44</color>
|
||||
<color name="color_2E323A">#2E323A</color>
|
||||
<color name="color_99_6C6C6C">#996C6C6C</color>
|
||||
<color name="color_27FFFFFF">#27FFFFFF</color>
|
||||
<color name="color_1E111111">#1E111111</color>
|
||||
<color name="color_FF213757">#FF213757</color>
|
||||
|
||||
Reference in New Issue
Block a user