Ver código fonte

feat: ETC过户页面和逻辑编写

master
huting 2 anos atrás
pai
commit
ea3fbcd9fd

+ 13
- 0
app/src/main/AndroidManifest.xml Ver arquivo

@@ -613,5 +613,18 @@
android:launchMode="singleTop"
android:screenOrientation="portrait" />

<!--ETC过户-->
<activity
android:name=".project.ui.activity.after.TransferOwnershipStep1Activity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".project.ui.activity.after.TransferOwnershipStep2Activity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity
android:name=".project.ui.activity.after.TransferOwnershipStep3Activity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
</application>
</manifest>

+ 3
- 2
app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/bean/RechargeBean.java Ver arquivo

@@ -2,12 +2,13 @@ package com.huntersun.vkyes.etcopencard.project.api.bean;

/**
* Date :2023-03-13
* Description:充值金额
* Description:充值金额、车牌选择
*/
public class RechargeBean {
public String payMoney;//充值金额
public String payMoney;//充值金额、车牌
public boolean isSelected; //是否选中


public RechargeBean(String payMoney) {
this.payMoney = payMoney;
this.isSelected = false;

+ 5
- 1
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/CommonDealSuccessActivity.java Ver arquivo

@@ -16,7 +16,7 @@ public class CommonDealSuccessActivity extends AppActivity {
private ActivityCommonDealSuccessBinding binding;

//0-注销成功 1-欠费补缴 2-余额补领 3-Pin码锁解锁成功 4-更换ETC设备成功 5-停用成功
//6-启用成功 7-卡签续期 8-储值卡转记账卡 9-设备升级
//6-启用成功 7-卡签续期 8-储值卡转记账卡 9-设备升级 10-过户成功
private String from;

//传递的订单ID
@@ -74,6 +74,10 @@ public class CommonDealSuccessActivity extends AppActivity {
}else if (from.equals("9")){
setTitle("设备升级");
binding.tvHint.setText("设备升级成功");

}else if (from.equals("10")){
setTitle("ETC过户");
binding.tvHint.setText("已申请过户");
}

binding.btnHome.setOnClickListener(new View.OnClickListener() {

+ 102
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/TransferOwnershipStep1Activity.java Ver arquivo

@@ -0,0 +1,102 @@
package com.huntersun.vkyes.etcopencard.project.ui.activity.after;

import android.os.Bundle;
import android.view.View;

import com.alibaba.fastjson.JSON;
import com.huntersun.vkyes.etcopencard.databinding.ActivityTransferOwnershipStep1Binding;
import com.huntersun.vkyes.etcopencard.project.api.Result;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.project.utils.SearchCarInfoUtils;
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;

/**
* Date :2023-03-24
* Description:ETC过户 第一步
*/
public class TransferOwnershipStep1Activity extends AppActivity {
private ActivityTransferOwnershipStep1Binding binding;

private ResultBean.BizContent curBizContent;
private String curVehicleId; //车辆编号

@Override
protected View getLayoutView() {
binding = ActivityTransferOwnershipStep1Binding.inflate(getLayoutInflater());
return binding.getRoot();
}

@Override
protected void initView() {
binding.LLSearchResult.setVisibility(View.GONE);
binding.LLBottom.setVisibility(View.GONE);
new SearchCarInfoUtils(this, new SearchCarInfoUtils.OnSearchResultClick() {
@Override
public void onSearchResultSuccess(ResultBean.BizContent bizContent) {
curBizContent = bizContent;
setDataToView();
}

@Override
public void onSearchResultFail(Result result) {
binding.LLSearchResult.setVisibility(View.GONE);
binding.LLBottom.setVisibility(View.GONE);
}

@Override
public void onVehicleId(String vehicleId) {
curVehicleId = vehicleId;
}
});

binding.btnNext.setOnClickListener(new View.OnClickListener() {
@Override
@SingleClick
public void onClick(View view) {
Bundle bundle = new Bundle();
bundle.putString("json", JSON.toJSONString(curBizContent));
bundle.putString("vehicleId", curVehicleId);
jumpToPage(TransferOwnershipStep2Activity.class, bundle);
finish();
}
});
}

private void setDataToView() {
if (curBizContent == null) return;
binding.LLSearchResult.setVisibility(View.VISIBLE);
binding.LLBottom.setVisibility(View.VISIBLE);
binding.LLCardInfo.setVisibility(View.GONE);
binding.LLObuInfo.setVisibility(View.GONE);

binding.tvOrderId.setText(curBizContent.getOrderId());
binding.tvUserName.setText(FunHelper.isEmpty(curBizContent.getCustomerName()) ? "" : curBizContent.getCustomerName());
binding.tvCardType.setText(FunHelper.isEmpty(curBizContent.getCustomerIdtype()) ? "" : curBizContent.getCustomerIdtype());
binding.tvCardNum.setText(FunHelper.isEmpty(curBizContent.getCustomerIdnum()) ? "" : curBizContent.getCustomerIdnum());
binding.tvVehiclePlate.setText(FunHelper.isEmpty(curBizContent.getVehiclePlate()) ? "" : curBizContent.getVehiclePlate());
binding.tvColor.setText(FunHelper.isEmpty(curBizContent.getVehiclePlateColorStr()) ? "" : curBizContent.getVehiclePlateColorStr());
binding.tvCarType.setText(FunHelper.isEmpty(curBizContent.getType()) ? "" : FunHelper.getCarTypeName(curBizContent.getType()));

//显示卡信息
if (!FunHelper.isEmpty(curBizContent.getCardId())) {
binding.LLCardInfo.setVisibility(View.VISIBLE);
binding.tvCardIdInfo.setText(FunHelper.isEmpty(curBizContent.getCardId()) ? "卡号:" : "卡号:" + curBizContent.getCardId());
binding.tvCardTypeInfo.setText(FunHelper.isEmpty(curBizContent.getIsValueCard()) ? "卡类型:" : "卡类型:" + (curBizContent.getIsValueCard().equals("1") ? "记账卡" : "储值卡"));
binding.tvCardStatusInfo.setText(FunHelper.isEmpty(curBizContent.getCardStatus()) ? "卡状态:" : "卡状态:" + FunHelper.getETCStatusName(Integer.parseInt(curBizContent.getCardStatus())));
}

//显示签信息
if (!FunHelper.isEmpty(curBizContent.getObuId())) {
binding.LLObuInfo.setVisibility(View.VISIBLE);
binding.tvOBUIdInfo.setText(FunHelper.isEmpty(curBizContent.getObuId()) ? "OBU:" : "OBU:" + curBizContent.getObuId());
binding.tvOBUTypeInfo.setText(FunHelper.isEmpty(curBizContent.getObuStatus()) ? "OBU状态:" : "OBU状态:" + FunHelper.getOBUStatusName(Integer.parseInt(curBizContent.getObuStatus())));
}
}

@Override
protected void initData() {

}
}

+ 223
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/TransferOwnershipStep2Activity.java Ver arquivo

@@ -0,0 +1,223 @@
package com.huntersun.vkyes.etcopencard.project.ui.activity.after;

import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import com.alibaba.fastjson.JSON;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.databinding.ActivityTransferOwnershipStep2Binding;
import com.huntersun.vkyes.etcopencard.project.api.bean.RechargeBean;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.RechargeAdapter;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.TransferOwnershipPlateAdapter;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.interfaces.INRechargeChoose;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;
import com.huntersun.vkyes.etcopencard.src.ui.adapter.AddViewHolder;

import java.util.ArrayList;
import java.util.List;

/**
* Date :2023-03-24
* Description:ETC过户 第二步
*/
public class TransferOwnershipStep2Activity extends AppActivity implements INRechargeChoose {

private ActivityTransferOwnershipStep2Binding binding;

//订单信息
private ResultBean.BizContent curBizContent;
//车辆编号 车牌号_车辆颜色
private String vehicleId;

//选择类型 0-过户已有车辆 1-过户新车 2-过户他人车辆
private int type = 0;

//选择车牌adapter
private TransferOwnershipPlateAdapter adapter;
//选择模板事件回调
private INRechargeChoose inVehiclePlateChoose;
//选择的车牌
private RechargeBean vehiclePlateInfo;

//车辆行驶证主页
private String imgUrl1;
//车辆行驶证副业
private String imgUrl2;
//车头照
private String imgUrl3;


@Override
protected View getLayoutView() {
binding = ActivityTransferOwnershipStep2Binding.inflate(getLayoutInflater());
return binding.getRoot();
}

@Override
protected void initView() {
String json = getIntent().getStringExtra("json");
vehicleId = getIntent().getStringExtra("vehicleId");
if (!FunHelper.isEmpty(json)) {
curBizContent = JSON.parseObject(json, ResultBean.BizContent.class);
}

binding.gvVehicle.setVisibility(View.VISIBLE);
binding.LLUserInfo.setVisibility(View.GONE);
binding.LLInputContent.setVisibility(View.GONE);
binding.LLCarImgInfo.setVisibility(View.GONE);

inVehiclePlateChoose = this;
adapter = new TransferOwnershipPlateAdapter(TransferOwnershipStep2Activity.this, inVehiclePlateChoose);
setVerlichPlateList();

binding.LLHaveCar.setOnClickListener(this::Choice);
binding.cbHaveCar.setOnClickListener(this::Choice);
binding.LLNewCar.setOnClickListener(this::Choice);
binding.cbNewCar.setOnClickListener(this::Choice);
binding.LLOtherCar.setOnClickListener(this::Choice);
binding.cbOtherCar.setOnClickListener(this::Choice);
binding.btnSubmit.setOnClickListener(this::initClick);

if (curBizContent == null) return;
binding.LLContent.removeAllViews();
addView("新办单号", curBizContent.getOrderId());
addView("原车牌号", curBizContent.getVehiclePlate());
addView("收费车型", curBizContent.getType().equals("0") ? "客车" : "货车");
addView("卡号", curBizContent.getCardId());
addView("卡状态", FunHelper.getETCStatusName(Integer.parseInt(curBizContent.getCardStatus())));
addView("OBU编号", curBizContent.getObuId());
addView("OBU状态", FunHelper.getOBUStatusName(Integer.parseInt(curBizContent.getObuStatus())));
}

private void setVerlichPlateList() {
List<RechargeBean> list = new ArrayList<>();
list.add(new RechargeBean("贵A·123466", true));
list.add(new RechargeBean("贵A·985632"));
list.add(new RechargeBean("贵B·985632"));
list.add(new RechargeBean("贵C·985632"));

vehiclePlateInfo = list.get(0);
adapter.setmDatas(list);
binding.gvVehicle.setAdapter(adapter);
adapter.notifyDataSetChanged();
}

private void addView(String label, String value) {
AddViewHolder holder = new AddViewHolder(this, R.layout.layout_order_details_item);
holder.setText(R.id.tvLabel, label);
holder.setText(R.id.tvValue, value);
binding.LLContent.addView(holder.getCustomView());
}

public void Choice(View view) {
binding.cbHaveCar.setChecked(false);
binding.cbNewCar.setChecked(false);
binding.cbOtherCar.setChecked(false);
if (view == binding.LLHaveCar || view == binding.cbHaveCar) {
binding.cbHaveCar.setChecked(true);
type = 0;
} else if (view == binding.LLNewCar || view == binding.cbNewCar) {
binding.cbNewCar.setChecked(true);
type = 1;
} else if (view == binding.LLOtherCar || view == binding.cbOtherCar) {
binding.cbOtherCar.setChecked(true);
type = 2;
}
setViewByType();
}

private void setViewByType() {
binding.gvVehicle.setVisibility(View.GONE);
binding.LLUserInfo.setVisibility(View.GONE);
binding.LLInputContent.setVisibility(View.GONE);
binding.LLCarImgInfo.setVisibility(View.GONE);

if (type == 0) {//过户已有车辆(过户到账户下已有)
binding.gvVehicle.setVisibility(View.VISIBLE);
} else if (type == 1) {//过户新车(账户中未有的车辆)
binding.LLInputContent.setVisibility(View.VISIBLE);
binding.LLCarImgInfo.setVisibility(View.VISIBLE);
} else if (type == 2) {//过户他人车辆
binding.LLUserInfo.setVisibility(View.VISIBLE);
binding.LLInputContent.setVisibility(View.VISIBLE);
binding.LLCarImgInfo.setVisibility(View.VISIBLE);
}
}

/* 判断用户信息是否为空 */
private boolean isHaveEmptyForUserInfo() {
if (empty(binding.etUserName) || empty(binding.etUserType) || empty(binding.etUserIdCard)) {
toast("用户信息不能为空");
return true;
}
return false;
}

/* 判断车辆信息是否为空 */
private boolean isHaveEmptyForCarInfo() {
if (empty(binding.et1) || empty(binding.et2) || empty(binding.et3)
|| empty(binding.et4) || empty(binding.et5) || empty(binding.et6)
|| empty(binding.et7) || empty(binding.et8) || empty(binding.et9)
|| empty(binding.et10) || empty(binding.et11) || empty(binding.et12)
|| empty(binding.et13) || empty(binding.et4) || empty(binding.et15)
|| empty(binding.et16) || empty(binding.et17) || empty(binding.et18)
) {
toast("车辆信息不能为空");
return true;
}
return false;
}

private boolean empty(View view) {
if (view instanceof EditText) {
return FunHelper.isEmpty(FunHelper.getText((EditText) view));
} else {
return FunHelper.isEmpty(FunHelper.getText((TextView) view));
}
}

/**
* 申请过户
*/
private void toApplyTransfer(){
Bundle bundle = new Bundle();
bundle.putString("from","10");
jumpToPage(CommonDealSuccessActivity.class,bundle);
finish();
}

@SingleClick
private void initClick(View view) {
if (view == binding.btnSubmit) {
if (vehiclePlateInfo == null && type == 0) {//过户已有车辆
toast("请选择要过户的车辆");
return;
}

if (type == 1 && isHaveEmptyForCarInfo()){//过户新车
return;
}

if (type == 2 && (isHaveEmptyForCarInfo() || isHaveEmptyForUserInfo())){//过户他人车辆
return;
}

toApplyTransfer();
}
}

@Override
protected void initData() {

}

@Override
public void chooseRechargeMoney(RechargeBean rechargeBean) {
vehiclePlateInfo = rechargeBean;
}
}

+ 30
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/after/TransferOwnershipStep3Activity.java Ver arquivo

@@ -0,0 +1,30 @@
package com.huntersun.vkyes.etcopencard.project.ui.activity.after;

import android.view.View;

import com.huntersun.vkyes.etcopencard.databinding.ActivityTransferOwnershipStep3Binding;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;

/**
* Date :2023-03-24
* Description:ETC过户 第三步
*/
public class TransferOwnershipStep3Activity extends AppActivity {
private ActivityTransferOwnershipStep3Binding binding;

@Override
protected View getLayoutView() {
binding = ActivityTransferOwnershipStep3Binding.inflate(getLayoutInflater());
return binding.getRoot();
}

@Override
protected void initView() {

}

@Override
protected void initData() {

}
}

+ 82
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/TransferOwnershipPlateAdapter.java Ver arquivo

@@ -0,0 +1,82 @@
package com.huntersun.vkyes.etcopencard.project.ui.adapter;

import android.content.Context;
import android.graphics.Typeface;
import android.view.View;
import android.widget.TextView;

import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.project.api.bean.RechargeBean;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.interfaces.INRechargeChoose;
import com.huntersun.vkyes.etcopencard.src.ui.adapter.CommonAdapter;
import com.huntersun.vkyes.etcopencard.src.ui.adapter.CommonViewHolder;

/**
* Date :2023-03-13
* Description:过户选择车牌adapter
*/
public class TransferOwnershipPlateAdapter extends CommonAdapter<RechargeBean> {
private INRechargeChoose inRechargeChoose;
private RechargeBean moneyInfoBefore;
private CommonViewHolder holderBefore;

public TransferOwnershipPlateAdapter(Context context, INRechargeChoose inRechargeChoose) {
super(context, R.layout.layout_transfer_ownership_plate);
this.inRechargeChoose = inRechargeChoose;
}

@Override
public void convert(CommonViewHolder holder, RechargeBean rechargeBean) {
holder.setText(R.id.tvVehiclePlate, rechargeBean.payMoney);

setSelected(holder,rechargeBean.isSelected);

if (rechargeBean.isSelected){
moneyInfoBefore = rechargeBean;
holderBefore = holder;
}

holder.setOnClickListener(R.id.LLItem, new View.OnClickListener() {
@Override
public void onClick(View v) {
if (moneyInfoBefore != null){
moneyInfoBefore.isSelected = false;
}
rechargeBean.isSelected = true;
setSelected(holder, true);
setSelected(holderBefore,false);
inRechargeChoose.chooseRechargeMoney(rechargeBean);
moneyInfoBefore = rechargeBean;
holderBefore = holder;
notifyDataSetChanged();
}
});
}

public void clearSelected(){
if(moneyInfoBefore != null){
moneyInfoBefore.isSelected = false;
}
if(holderBefore != null){
setSelected(holderBefore,false);
}
notifyDataSetChanged();
}

/*
* 设置是否选中
*
* @param holder
* @param isSelected
*/
private void setSelected(CommonViewHolder holder,boolean isSelected){
if (holder == null){
return;
}
if (isSelected){
holder.setBackgroundDrawable(R.id.LLItem,R.mipmap.bg_vehicle_green);
}else{
holder.setBackgroundDrawable(R.id.LLItem,R.mipmap.bg_vehicle_grey);
}
}
}

+ 8
- 6
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/fragment/FragmentHomeTow.java Ver arquivo

@@ -27,6 +27,7 @@ import com.huntersun.vkyes.etcopencard.project.ui.activity.after.RenewCardObuAct
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.ReplaceEtcStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.StartStopEtcActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.TopUpActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.TransferOwnershipStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.evaluate.UserEvaluateActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.mail.InfoTabActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.mail.ListDeliveryActivity;
@@ -59,15 +60,13 @@ public class FragmentHomeTow extends TitleBarFragment<MainActivity> {
{R.mipmap.card11, "卡Pin码解锁"},
{R.mipmap.card10, "欠费补缴"},
{R.mipmap.card10, "余额补领"},
{R.mipmap.card8, "设备激活"},
{R.mipmap.card19, "解除车牌占用"},

{R.mipmap.card19, "用户信息变更"},
{R.mipmap.card19, "车辆信息变更"},
{R.mipmap.card20, "圈存退费"},
{R.mipmap.card2, "补卡额申请"},
//未完成的
{R.mipmap.card16, "ETC过户"},

{R.mipmap.card2, "补卡额申请"},
{R.mipmap.card8, "设备激活"},
{R.mipmap.card20, "圈存退费"},
{R.mipmap.card5, "通行流水查询"},
{R.mipmap.card6, "用户信息变更"},
{R.mipmap.card7, "车辆信息变更"},
@@ -208,6 +207,9 @@ public class FragmentHomeTow extends TitleBarFragment<MainActivity> {
case "设备激活":
startActivity(ObuActivationHintActivity.class);
break;
case "ETC过户":
jumpToPage(TransferOwnershipStep1Activity.class);
break;
default:
new Utils().showMessDialog(getActivity(), "功能正在开发中...");
break;

+ 9
- 0
app/src/main/res/drawable-v1/home_unm_bg2_1.xml Ver arquivo

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

<corners android:radius="@dimen/dp_5"/>

<solid android:color="#F7FAFD"/>
<!-- <solid android:color="#ffffff"/>-->

</shape>

+ 1039
- 0
app/src/main/res/layout-v1/activity_transfer_ownership_step2.xml
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 6
- 0
app/src/main/res/layout-v1/activity_transfer_ownership_step3.xml Ver arquivo

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

</LinearLayout>

+ 0
- 3
app/src/main/res/layout/activity_fill_out_message.xml Ver arquivo

@@ -584,11 +584,8 @@
android:gravity="right"
android:hint="请选择用户类型"
android:textSize="14sp" />

</LinearLayout>

</LinearLayout>

</LinearLayout>

<LinearLayout

+ 337
- 0
app/src/main/res/layout/activity_transfer_ownership_step1.xml Ver arquivo

@@ -0,0 +1,337 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="@style/MatchMatch.Vertical"
android:background="@color/background_color">

<com.hjq.bar.TitleBar
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
app:leftIcon="@mipmap/back_black"
app:lineVisible="false"
app:title="ETC过户"
app:titleColor="@color/black" />

<androidx.core.widget.NestedScrollView
style="@style/MatchWrap"
android:layout_below="@+id/title">

<LinearLayout
style="@style/MatchWrap.Vertical"
android:paddingBottom="@dimen/dp_80">

<include layout="@layout/layout_vehicleplate" />

<!--搜索结果-->
<LinearLayout
android:id="@+id/LLSearchResult"
style="@style/MatchWrap.Vertical"
android:visibility="gone">

<TextView
style="@style/WrapWrap"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="@dimen/dp_15"
android:paddingRight="@dimen/dp_15"
android:text="基础信息"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />

<!--基础信息-->
<LinearLayout
style="@style/MatchWrap.Vertical"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_10"
android:background="@drawable/bg_white_radius"
android:padding="@dimen/dp_15">

<LinearLayout style="@style/MatchWrap.Horizontal">

<TextView
style="@style/black02TextStyle14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="订单编号" />

<TextView
android:id="@+id/tvOrderId"
style="@style/blackTextStyle14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:layout_marginTop="@dimen/dp_12">

<TextView
style="@style/black02TextStyle14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="用户名称" />

<TextView
android:id="@+id/tvUserName"
style="@style/blackTextStyle14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:layout_marginTop="@dimen/dp_12">

<TextView
style="@style/black02TextStyle14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="用户证件类型" />

<TextView
android:id="@+id/tvCardType"
style="@style/blackTextStyle14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:layout_marginTop="@dimen/dp_12">

<TextView
style="@style/black02TextStyle14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="用户证件号" />

<TextView
android:id="@+id/tvCardNum"
style="@style/blackTextStyle14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:layout_marginTop="@dimen/dp_12">

<TextView
style="@style/black02TextStyle14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="订单车牌号" />

<TextView
android:id="@+id/tvVehiclePlate"
style="@style/blackTextStyle14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:layout_marginTop="@dimen/dp_12">

<TextView
style="@style/black02TextStyle14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="车牌颜色" />

<TextView
android:id="@+id/tv_color"
style="@style/blackTextStyle14"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:layout_marginTop="@dimen/dp_12">

<TextView
style="@style/black02TextStyle14"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="收费车型" />

<TextView
android:id="@+id/tvCarType"
style="@style/blackTextStyle14"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>

<!--卡信息-->
<LinearLayout
android:id="@+id/LLCardInfo"
style="@style/MatchWrap.Vertical"
android:visibility="gone">

<TextView
style="@style/WrapWrap"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="@dimen/dp_15"
android:paddingRight="@dimen/dp_15"
android:text="卡信息"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />

<LinearLayout
style="@style/MatchWrap.Vertical"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginVertical="@dimen/dp_10"
android:background="@drawable/bg_white_radius"
android:paddingHorizontal="@dimen/dp_20"
android:paddingVertical="@dimen/dp_15">

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:background="@drawable/bg_card_obu_info"
android:gravity="center_vertical"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="@dimen/dp_15"
android:paddingRight="@dimen/dp_5"
android:paddingBottom="@dimen/dp_15">

<ImageView
style="@style/WrapWrap"
android:layout_width="@dimen/dp_67"
android:layout_height="@dimen/dp_46"
android:src="@mipmap/icon_card" />

<LinearLayout
style="@style/MatchWrap.Vertical"
android:layout_marginLeft="@dimen/dp_15">

<TextView
android:id="@+id/tvCardIdInfo"
style="@style/MatchWrap"
android:text="卡号:"
android:textColor="@color/common_accent_color"
android:textSize="@dimen/sp_13" />

<TextView
android:id="@+id/tvCardTypeInfo"
style="@style/MatchWrap"
android:layout_marginTop="@dimen/dp_2"
android:text="卡类型:"
android:textColor="@color/common_accent_color"
android:textSize="@dimen/sp_13" />

<TextView
android:id="@+id/tvCardStatusInfo"
style="@style/MatchWrap"
android:layout_marginTop="@dimen/dp_2"
android:text="卡状态:"
android:textColor="@color/common_accent_color"
android:textSize="@dimen/sp_13" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

<!--OBU设备信息-->
<LinearLayout
android:id="@+id/LLObuInfo"
style="@style/MatchWrap.Vertical"
android:visibility="gone">

<TextView
style="@style/WrapWrap"
android:paddingLeft="@dimen/dp_15"
android:paddingTop="@dimen/dp_15"
android:paddingRight="@dimen/dp_15"
android:text="OBU设备信息"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />

<LinearLayout
style="@style/MatchWrap.Vertical"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginVertical="@dimen/dp_10"
android:background="@drawable/bg_white_radius"
android:paddingHorizontal="@dimen/dp_20"
android:paddingVertical="@dimen/dp_15">

<LinearLayout
style="@style/MatchWrap.Horizontal"
android:background="@drawable/bg_card_obu_info"
android:gravity="center_vertical"
android:padding="@dimen/dp_15">

<ImageView
style="@style/WrapWrap"
android:layout_width="@dimen/dp_67"
android:layout_height="@dimen/dp_46"
android:src="@mipmap/icon_obu" />

<LinearLayout
style="@style/MatchWrap.Vertical"
android:layout_marginLeft="@dimen/dp_15">

<TextView
android:id="@+id/tvOBUIdInfo"
style="@style/MatchWrap"
android:text="OBU:"
android:textColor="@color/common_accent_color"
android:textSize="@dimen/sp_13" />

<TextView
android:id="@+id/tvOBUTypeInfo"
style="@style/MatchWrap"
android:layout_marginTop="@dimen/dp_2"
android:text="OBU状态:"
android:textColor="@color/common_accent_color"
android:textSize="@dimen/sp_13" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>

<LinearLayout
android:id="@+id/LLBottom"
style="@style/MatchWrap.Horizontal"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:background="@color/background_color"
android:gravity="center"
android:paddingHorizontal="@dimen/dp_15"
android:paddingVertical="@dimen/dp_10">

<Button
android:id="@+id/btnNext"
style="@style/BtnShortStyle"
android:layout_width="0dp"
android:layout_height="@dimen/dp_40"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:layout_weight="1"
android:text="下一步"
android:textSize="@dimen/sp_15" />
</LinearLayout>

</RelativeLayout>

+ 16
- 0
app/src/main/res/layout/layout_transfer_ownership_plate.xml Ver arquivo

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?><!--bg_cz_item_normal-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LLItem"
style="@style/WrapWrap.Horizontal"
android:gravity="center"
android:minWidth="145dp"
android:background="@mipmap/bg_vehicle_grey"
android:minHeight="@dimen/dp_52">

<TextView
android:id="@+id/tvVehiclePlate"
style="@style/WrapWrap"
android:text="贵A·985632"
android:textColor="@color/white"
android:textSize="@dimen/sp_16" />
</LinearLayout>

BIN
app/src/main/res/mipmap-xhdpi/bg_vehicle_green.png Ver arquivo


BIN
app/src/main/res/mipmap-xhdpi/bg_vehicle_grey.png Ver arquivo


Carregando…
Cancelar
Salvar