完成了事件面板中的ui

This commit is contained in:
董宏宇
2020-08-10 17:56:37 +08:00
parent 715fe3e0a6
commit 2a82dda450
20 changed files with 279 additions and 111 deletions

View File

@@ -7,10 +7,8 @@ import androidx.recyclerview.widget.RecyclerView;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.common.entity.V2XMessageEntity;
import com.mogo.module.v2x.adapter.holder.V2XScenarioHistoryFatigueDrivingVH;
import com.mogo.module.v2x.adapter.holder.V2XScenarioHistoryIllegalParkVH;
import com.mogo.module.v2x.adapter.holder.V2XScenarioHistoryOtherSeekHelpVH;
import com.mogo.module.v2x.adapter.holder.V2XScenarioHistoryPushEventVH;
import com.mogo.module.v2x.adapter.holder.V2XScenarioHistoryRoadEventVH;
import java.util.ArrayList;
@@ -41,14 +39,6 @@ public class V2XScenarioHistoryAdapter extends RecyclerView.Adapter<RecyclerView
case V2XMessageEntity.V2XTypeEnum.ALERT_ILLEGAL_PARK_WARNING:
holder = new V2XScenarioHistoryIllegalParkVH(parent);
break;
//推送展示
case V2XMessageEntity.V2XTypeEnum.ALERT_PUSH_WINDOW_WARNING:
holder = new V2XScenarioHistoryPushEventVH(parent);
break;
//疲劳驾驶
case V2XMessageEntity.V2XTypeEnum.ALERT_FATIGUE_DRIVING:
holder = new V2XScenarioHistoryFatigueDrivingVH(parent);
break;
//他人故障求助
case V2XMessageEntity.V2XTypeEnum.ALERT_SEEK_WARNING:
holder = new V2XScenarioHistoryOtherSeekHelpVH(parent);
@@ -68,12 +58,6 @@ public class V2XScenarioHistoryAdapter extends RecyclerView.Adapter<RecyclerView
if (holder instanceof V2XScenarioHistoryIllegalParkVH) {
((V2XScenarioHistoryIllegalParkVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
if (holder instanceof V2XScenarioHistoryPushEventVH) {
((V2XScenarioHistoryPushEventVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
if (holder instanceof V2XScenarioHistoryFatigueDrivingVH) {
((V2XScenarioHistoryFatigueDrivingVH) holder).initView(mV2XHistoryScenarioData.get(position));
}
if (holder instanceof V2XScenarioHistoryOtherSeekHelpVH) {
((V2XScenarioHistoryOtherSeekHelpVH) holder).initView(mV2XHistoryScenarioData.get(position));
}

View File

@@ -1,29 +0,0 @@
package com.mogo.module.v2x.adapter.holder;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* @author donghongyu
*/
public class V2XScenarioHistoryFatigueDrivingVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public V2XScenarioHistoryFatigueDrivingVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_fatigue_driving, viewGroup, false));
}
@Override
public void initView(V2XHistoryScenarioData viewData) {
}
@Override
public void delayedCloseWindow() {
}
}

View File

@@ -9,12 +9,13 @@ import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* 出行面板违章停车
* @author donghongyu
*/
public class V2XScenarioHistoryIllegalParkVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public V2XScenarioHistoryIllegalParkVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_illegal_parking, viewGroup, false));
.inflate(R.layout.item_v2x_scennario_history, viewGroup, false));
}
@Override

View File

@@ -9,12 +9,13 @@ import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* 出行动态中的他人故障求助
* @author donghongyu
*/
public class V2XScenarioHistoryOtherSeekHelpVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public V2XScenarioHistoryOtherSeekHelpVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_fault_help, viewGroup, false));
.inflate(R.layout.item_v2x_scennario_history_other_help, viewGroup, false));
}
@Override

View File

@@ -1,29 +0,0 @@
package com.mogo.module.v2x.adapter.holder;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* @author donghongyu
*/
public class V2XScenarioHistoryPushEventVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public V2XScenarioHistoryPushEventVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_push_event_detail, viewGroup, false));
}
@Override
public void initView(V2XHistoryScenarioData viewData) {
}
@Override
public void delayedCloseWindow() {
}
}

View File

@@ -9,12 +9,14 @@ import com.mogo.module.common.entity.V2XHistoryScenarioData;
import com.mogo.module.v2x.R;
/**
* 出行面板道路事件面板
*
* @author donghongyu
*/
public class V2XScenarioHistoryRoadEventVH extends V2XBaseViewHolder<V2XHistoryScenarioData> {
public V2XScenarioHistoryRoadEventVH(@NonNull ViewGroup viewGroup) {
super(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.item_v2x_event_detail, viewGroup, false));
.inflate(R.layout.item_v2x_scennario_history, viewGroup, false));
}
@Override

View File

@@ -1,9 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="@dimen/dp_30" />
<gradient
android:endColor="#256BFF"
android:startColor="#5CC1FF" />
<corners android:radius="@dimen/dp_30" />
</shape>

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="315"
android:angle="180"
android:endColor="#ff5cc1ff"
android:startColor="#ff256bff"/>
<corners android:radius="@dimen/dp_10" />
<corners android:radius="@dimen/dp_12" />
</shape>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="180"
android:endColor="#8384A9"
android:startColor="#676982" />
<corners android:radius="@dimen/dp_12" />
</shape>

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="135"
android:endColor="#ffd48721"
android:startColor="#ffffa757" />
<corners android:radius="@dimen/dp_10" />
android:angle="180"
android:endColor="#FFA757"
android:startColor="#D48721" />
<corners android:radius="@dimen/dp_12" />
</shape>

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="135"
android:endColor="#ffc23632"
android:startColor="#ffff4944" />
<corners android:radius="@dimen/dp_10" />
android:angle="180"
android:endColor="#FF4944"
android:startColor="#C23632" />
<corners android:radius="@dimen/dp_12" />
</shape>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tvMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_60"
android:paddingTop="@dimen/dp_30"
android:paddingEnd="@dimen/dp_60"
android:paddingBottom="@dimen/dp_30"
android:text="今日出行遇到的交通事件"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_36"
android:textStyle="bold" />

View File

@@ -20,7 +20,7 @@
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/ivIconPIcon"
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_30"
@@ -41,8 +41,8 @@
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tvAddressDistance"
app:layout_constraintStart_toStartOf="@+id/ivIconPIcon"
app:layout_constraintTop_toBottomOf="@+id/ivIconPIcon"
app:layout_constraintStart_toStartOf="@+id/tagEventType"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
tools:text="停车场|服务区地址" />
<TextView

View File

@@ -5,10 +5,10 @@
android:id="@+id/rlContent"
android:layout_width="match_parent"
android:layout_height="@dimen/module_v2x_fatigue_driving_window_height_ground"
android:background="@drawable/v2x_alert_window_bg"
android:background="#1F2131"
android:paddingStart="@dimen/dp_40"
android:paddingEnd="@dimen/dp_40"
app:roundLayoutRadius="@dimen/dp_40">
app:roundLayoutRadius="@dimen/dp_30">
<ImageView
android:id="@+id/ivIconP"
@@ -19,7 +19,7 @@
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/ivIconPIcon"
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20"
@@ -48,8 +48,8 @@
android:textSize="@dimen/dp_34"
app:layout_constraintBottom_toTopOf="@+id/tvAddressDistance"
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingLike"
app:layout_constraintStart_toStartOf="@+id/ivIconPIcon"
app:layout_constraintTop_toBottomOf="@+id/ivIconPIcon"
app:layout_constraintStart_toStartOf="@+id/tagEventType"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
tools:text="小黄庄北街与北三环辅路交叉口小黄庄北街与北三环辅路交叉口" />
<TextView
@@ -63,7 +63,7 @@
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_30"
app:layout_constraintEnd_toEndOf="@+id/tvAddress"
app:layout_constraintStart_toStartOf="@+id/ivIconPIcon"
app:layout_constraintStart_toStartOf="@+id/tagEventType"
app:layout_constraintTop_toBottomOf="@+id/tvAddress"
tools:text="违章人数10人" />

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mogo.module.v2x.view.RoundConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rlContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#1F2131"
android:paddingStart="@dimen/dp_40"
android:paddingEnd="@dimen/dp_40"
app:roundLayoutRadius="@dimen/dp_30">
<TextView
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_read"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="违章停车"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tagEventEvaluate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_gray"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="待评价"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintBottom_toBottomOf="@+id/tagEventType"
app:layout_constraintStart_toEndOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tagEventType" />
<ImageView
android:id="@+id/ivIconP"
android:layout_width="@dimen/module_v2x_history_event_icon_size"
android:layout_height="@dimen/module_v2x_history_event_icon_size"
android:src="@drawable/icon_illegal_parking"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tvAddress" />
<TextView
android:id="@+id/tvAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_24"
android:layout_marginRight="@dimen/dp_30"
android:ellipsize="end"
android:maxLines="1"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_34"
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingLike"
app:layout_constraintStart_toEndOf="@+id/ivIconP"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
tools:text="小黄庄北街与北三环辅路交叉口小黄庄北街与北三环辅路交叉口" />
<TextView
android:id="@+id/tvIllegalNum"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_24"
android:alpha="0.6"
android:gravity="center_vertical"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_30"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@+id/tvAddress"
app:layout_constraintStart_toStartOf="@+id/tvAddress"
app:layout_constraintTop_toBottomOf="@+id/tvAddress"
tools:text="违章人数10人" />
<com.mogo.module.v2x.view.HeartLikeView
android:id="@+id/llIllegalParkingLike"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_40"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/llIllegalParkingUnLike"
app:layout_constraintTop_toTopOf="parent" />
<com.mogo.module.v2x.view.HeartUnLikeView
android:id="@+id/llIllegalParkingUnLike"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</com.mogo.module.v2x.view.RoundConstraintLayout>

View File

@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mogo.module.v2x.view.RoundConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/v2x_alert_window_bg"
android:paddingStart="@dimen/dp_40"
android:paddingEnd="@dimen/dp_40"
app:roundLayoutRadius="@dimen/dp_40">
<TextView
android:id="@+id/tagEventType"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_read"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="违章停车"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tagEventEvaluate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:background="@drawable/bg_v2x_event_type_gray"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingTop="@dimen/dp_3"
android:paddingRight="@dimen/dp_10"
android:paddingBottom="@dimen/dp_3"
android:text="待援助"
android:textColor="#ffffff"
android:textSize="@dimen/dp_28"
app:layout_constraintBottom_toBottomOf="@+id/tagEventType"
app:layout_constraintStart_toEndOf="@+id/tagEventType"
app:layout_constraintTop_toTopOf="@+id/tagEventType" />
<com.mogo.service.imageloader.MogoImageView
android:id="@+id/ivFaultHelpHead"
android:layout_width="@dimen/module_v2x_history_event_icon_size"
android:layout_height="@dimen/module_v2x_history_event_icon_size"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="@dimen/dp_21"
android:layout_marginEnd="@dimen/dp_31"
app:layout_constraintEnd_toEndOf="@+id/rlRoadEventList"
app:layout_constraintStart_toStartOf="@+id/tagEventType"
app:layout_constraintTop_toBottomOf="@+id/tagEventType"
app:miv_borderColor="#4cffffff"
app:miv_failureHolder="@drawable/icon_default_user_head"
app:miv_overlayImageId="@drawable/icon_default_user_head"
app:miv_placeHolder="@drawable/icon_default_user_head"
app:miv_shape="circle"
app:miv_shapeBorderWidth="@dimen/dp_4" />
<TextView
android:id="@+id/tvFaultHelpName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_marginEnd="@dimen/dp_30"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_34"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/tvFaultHelpDistance"
app:layout_constraintStart_toEndOf="@id/ivFaultHelpHead"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpHead"
app:layout_constraintVertical_chainStyle="packed"
app:layout_goneMarginStart="@dimen/dp_22"
tools:text="车主昵称" />
<TextView
android:id="@+id/tvFaultHelpEventTime"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:layout_marginBottom="@dimen/dp_24"
android:alpha="0.59"
android:textColor="@android:color/white"
android:textSize="@dimen/dp_30"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/tvFaultHelpDistance"
app:layout_constraintStart_toStartOf="@id/tvFaultHelpName"
app:layout_constraintTop_toBottomOf="@id/tvFaultHelpName"
tools:text="15:30发布求助信息" />
<TextView
android:id="@+id/tvFaultHelpDistance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_30"
android:gravity="center_vertical"
android:textColor="#FFF"
android:textSize="@dimen/dp_80"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@+id/ivFaultHelpEventCall"
app:layout_constraintEnd_toStartOf="@+id/ivFaultHelpEventCall"
app:layout_constraintTop_toTopOf="@+id/ivFaultHelpEventCall"
tools:text="300M" />
<ImageView
android:id="@+id/ivFaultHelpEventCall"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:layout_marginEnd="@dimen/dp_40"
android:src="@drawable/selector_talk_btn"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/ivFaultHelpEventNavi"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
<ImageView
android:id="@+id/ivFaultHelpEventNavi"
android:layout_width="@dimen/module_v2x_event_button_size"
android:layout_height="@dimen/module_v2x_event_button_size"
android:src="@drawable/selector_nav_btn"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</com.mogo.module.v2x.view.RoundConstraintLayout>

View File

@@ -16,7 +16,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/dp_60"
android:paddingBottom="@dimen/dp_30"
android:paddingBottom="@dimen/dp_27"
android:text="今日出行遇到的交通事件"
android:textColor="#FFFFFF"
android:textSize="@dimen/dp_36"

View File

@@ -20,4 +20,7 @@
<dimen name="module_v2x_event_distance_text">60px</dimen>
<dimen name="module_v2x_event_distance_title">40px</dimen>
<dimen name="module_v2x_history_event_icon_size">80px</dimen>
</resources>

View File

@@ -21,4 +21,7 @@
<dimen name="module_v2x_event_distance_text">60px</dimen>
<dimen name="module_v2x_event_distance_title">40px</dimen>
<dimen name="module_v2x_history_event_icon_size">80px</dimen>
</resources>

View File

@@ -23,5 +23,7 @@
<dimen name="module_v2x_event_distance_text">34px</dimen>
<dimen name="module_v2x_event_distance_title">22px</dimen>
<dimen name="module_v2x_history_event_icon_size">40px</dimen>
</resources>