ソースを参照

'最终版'

master
wq 2年前
コミット
d45c2d5378
27個のファイルの変更696行の追加618行の削除
  1. 37
    1
      README.md
  2. 61
    32
      app/src/main/AndroidManifest.xml
  3. 1
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/MyRetrofit.java
  4. 1
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/RequestParameters.java
  5. 4
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/bean/IFCode.java
  6. 4
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/bean/ResultBean.java
  7. 4
    4
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/BusinessDetectionActivity.java
  8. 1
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/my/RemoveLicensePlateOccupation.java
  9. 1
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/order/OrderDetailsActivity.java
  10. 46
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/MenuListAdapter.java
  11. 46
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/MenuListItemAdapter.java
  12. 11
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/interfaces/INOnItemClickListener.java
  13. 1
    4
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/fragment/FragmentHomeThree.java
  14. 90
    192
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/fragment/FragmentHomeTow.java
  15. 1
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/fragment/FragmentSonOne.java
  16. 2
    1
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/utils/Constants.java
  17. 8
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/project/utils/FunHelper.java
  18. 21
    0
      app/src/main/java/com/huntersun/vkyes/etcopencard/src/app/TitleBarFragment.java
  19. 13
    8
      app/src/main/java/com/huntersun/vkyes/etcopencard/src/ui/activity/LoginActivity.java
  20. 14
    150
      app/src/main/res/layout-v2/fragment_home_five.xml
  21. 2
    1
      app/src/main/res/layout-v2/fragment_home_three.xml
  22. 226
    199
      app/src/main/res/layout-v2/fragment_home_two.xml
  23. 3
    2
      app/src/main/res/layout-v3/item_grad_list.xml
  24. 8
    1
      app/src/main/res/layout-v3/item_list_content.xml
  25. 37
    0
      app/src/main/res/layout-v3/item_menu_list.xml
  26. 51
    21
      app/src/main/res/layout/activity_business_detection.xml
  27. 2
    2
      app/src/main/res/layout/layout_vehicleplate.xml

+ 37
- 1
README.md ファイルの表示

@@ -158,4 +158,40 @@ distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
```

# 页面路由
业务检测:com.huntersun.vkyes.etcopencard.project.ui.activity.BusinessDetectionActivity
充值圈存:com.huntersun.vkyes.etcopencard.project.ui.activity.after.TopUpActivity
设备激活:com.huntersun.vkyes.etcopencard.project.ui.activity.obu.ObuActivationHintCheckOrderActivity
卡签信息查询:com.huntersun.vkyes.etcopencard.project.ui.activity.mail.InfoTabActivity
解除车牌占用:com.huntersun.vkyes.etcopencard.project.ui.activity.my.RemoveLicensePlateOccupation

发货管理:com.huntersun.vkyes.etcopencard.project.ui.activity.mail.ListDeliveryActivity
卡签挂失/解挂:com.huntersun.vkyes.etcopencard.project.ui.activity.after.EquipmentLossReportStep1Activity
卡签注销:com.huntersun.vkyes.etcopencard.project.ui.activity.after.LogoutEtcStep1Activity
更换卡签:com.huntersun.vkyes.etcopencard.project.ui.activity.after.ReplaceEtcStep1Activity
储值卡转记账卡:com.huntersun.vkyes.etcopencard.project.ui.activity.after.PetCardToAccountCardStep1Activity
卡签停用启用:com.huntersun.vkyes.etcopencard.project.ui.activity.after.StartStopEtcActivity
卡签续期:com.huntersun.vkyes.etcopencard.project.ui.activity.after.RenewCardObuActivity
设备升级:com.huntersun.vkyes.etcopencard.project.ui.activity.after.EquipmentUpgradeActivity
卡Pin码解锁:com.huntersun.vkyes.etcopencard.project.ui.activity.after.CardUnlockPinActivity
欠费补缴:com.huntersun.vkyes.etcopencard.project.ui.activity.after.PayTheArrearsStep0Activity
余额补领:com.huntersun.vkyes.etcopencard.project.ui.activity.after.BalanceReplacementStep1Activity
ETC过户:com.huntersun.vkyes.etcopencard.project.ui.activity.after.TransferOwnershipStep1Activity
用户信息变更:com.huntersun.vkyes.etcopencard.project.ui.activity.after.EditUserInfoStep1Activity
车辆信息变更:com.huntersun.vkyes.etcopencard.project.ui.activity.after.EditCarInfoStep1Activity
通行流水查询:com.huntersun.vkyes.etcopencard.project.ui.activity.after.CheckRunningWaterStep1Activity
增补OBU:com.huntersun.vkyes.etcopencard.project.ui.activity.after.AddObuStep1Activity
补卡额申请:com.huntersun.vkyes.etcopencard.project.ui.activity.after.ExtraCreditStep1Activity


//以下是暂时隐藏、或者还没有页面、或者暂无此功能的
满意度评价:com.huntersun.vkyes.etcopencard.project.ui.activity.evaluate.UserEvaluateActivity
卡签挂起/解挂:com.huntersun.vkyes.etcopencard.project.ui.activity.after.DevicePendingActivity
圈存退费:
签约账户变更:
审核管理:
发票管理:
卡签版本查询:
公务车发行:

+ 61
- 32
app/src/main/AndroidManifest.xml ファイルの表示

@@ -88,7 +88,9 @@
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider> <!-- 闪屏页 -->
</provider>

<!-- 闪屏页 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.SplashActivity"
android:launchMode="singleTop"
@@ -99,130 +101,157 @@
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> <!-- 引导页 -->
</activity>

<!-- 首页 -->
<activity
android:name=".project.ui.activity.MainActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />

<!-- 引导页 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.GuideActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 首页 -->
android:screenOrientation="portrait" />
<!-- 首页 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.HomeActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" /> <!-- 登录页 -->
android:windowSoftInputMode="adjustPan" />
<!-- 登录页 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.LoginActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" /> <!-- 注册页 -->
android:windowSoftInputMode="stateHidden" />
<!-- 注册页 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.RegisterActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" /> <!-- 崩溃展示(必须在独立进程) -->
android:windowSoftInputMode="stateHidden" />
<!-- 崩溃展示(必须在独立进程) -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.CrashActivity"
android:launchMode="singleTop"
android:process=":crash"
android:screenOrientation="landscape" /> <!-- 重启应用(必须在独立进程) -->
android:screenOrientation="landscape" />
<!-- 重启应用(必须在独立进程) -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.RestartActivity"
android:launchMode="singleTop"
android:process=":restart" /> <!-- 设置页 -->
android:process=":restart" />
<!-- 设置页 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.SettingActivity"
android:label="@string/setting_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 忘记密码 -->
android:screenOrientation="portrait" />
<!-- 忘记密码 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.PasswordForgetActivity"
android:label="@string/password_forget_title"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" /> <!-- 重置密码 -->
android:windowSoftInputMode="stateHidden" />
<!-- 重置密码 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.PasswordResetActivity"
android:label="@string/password_reset_title"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" /> <!-- 更换手机 -->
android:windowSoftInputMode="stateHidden" />
<!-- 更换手机 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.PhoneResetActivity"
android:label="@string/phone_reset_title"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" /> <!-- 关于我们 -->
android:windowSoftInputMode="stateHidden" />
<!-- 关于我们 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.AboutActivity"
android:label="@string/about_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 个人资料 -->
android:screenOrientation="portrait" />
<!-- 个人资料 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.PersonalDataActivity"
android:label="@string/personal_data_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 网页浏览 -->
android:screenOrientation="portrait" />
<!-- 网页浏览 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.BrowserActivity"
android:label="@string/web_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 拍照选择 -->
android:screenOrientation="portrait" />
<!-- 拍照选择 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.CameraActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 图片裁剪 -->
android:screenOrientation="portrait" />
<!-- 图片裁剪 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.ImageCropActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 图片选择 -->
android:screenOrientation="portrait" />
<!-- 图片选择 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.ImageSelectActivity"
android:label="@string/image_select_title"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 查看大图 -->
android:screenOrientation="portrait" />
<!-- 查看大图 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.ImagePreviewActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 播放视频(自适应方向) -->
android:screenOrientation="portrait" />
<!-- 播放视频(自适应方向) -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.VideoPlayActivity"
android:launchMode="singleTop"
android:theme="@style/FullScreenTheme" /> <!-- 播放视频(竖屏方向) -->
android:theme="@style/FullScreenTheme" />
<!-- 播放视频(竖屏方向) -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.VideoPlayActivity$Portrait"
android:launchMode="singleTop"
android:screenOrientation="portrait"
android:theme="@style/FullScreenTheme" /> <!-- 播放视频(横屏方向) -->
android:theme="@style/FullScreenTheme" />
<!-- 播放视频(横屏方向) -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.VideoPlayActivity$Landscape"
android:launchMode="singleTop"
android:screenOrientation="landscape"
android:theme="@style/FullScreenTheme" /> <!-- 选择视频 -->
android:theme="@style/FullScreenTheme" />
<!-- 选择视频 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.VideoSelectActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 对话框案例 -->
android:screenOrientation="portrait" />
<!-- 对话框案例 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.DialogActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 状态案例 -->
android:screenOrientation="portrait" />
<!-- 状态案例 -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.ui.activity.StatusActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" /> <!-- 微信回调(请注意这个 Activity 放置的包名要和当前项目的包名保持一致,否则将不能正常回调) -->
android:screenOrientation="portrait" />
<!-- 微信回调(请注意这个 Activity 放置的包名要和当前项目的包名保持一致,否则将不能正常回调) -->
<activity
android:name="com.huntersun.vkyes.etcopencard.src.wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity android:name=".project.ui.activity.MyBluetooth" /> <!-- 首页 -->
<activity
android:name=".project.ui.activity.MainActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" /> <!-- ETC办理 -->
<activity android:name=".project.ui.activity.MyBluetooth" />
<!-- ETC办理 -->
<activity
android:name=".project.ui.activity.ETCHandleActivity"
android:launchMode="singleTop"

+ 1
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/MyRetrofit.java ファイルの表示

@@ -54,6 +54,7 @@ public class MyRetrofit {

private final String FileUrl = "http://222.85.144.89:19003/ifzt/api/"; //文件服务
public static final String URL_DOWNLOAD_FILE = "http://192.168.100.63:8087/user-export-excel/";//通行流水下载路径前缀
public static final String URL_APP_IMG = "http://192.168.100.63:8087/default-bucket/app/";//APP图标路径前缀

private final String appId = "admin001";
private final String IFCODE = "";

+ 1
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/RequestParameters.java ファイルの表示

@@ -3,6 +3,7 @@ package com.huntersun.vkyes.etcopencard.project.api;
import android.annotation.SuppressLint;

import com.huntersun.vkyes.etcopencard.project.tool.MyShared;
import com.huntersun.vkyes.etcopencard.project.utils.Constants;

import java.text.SimpleDateFormat;
import java.util.Date;

+ 4
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/bean/IFCode.java ファイルの表示

@@ -172,6 +172,10 @@ public class IFCode {
public static final String IFCODE_TRANSFER_CONFIRM = "b1e66d22fb6f400f915458f5c50c7118"; //操作接口

public static final String IFCODE914 = "914"; //下单-订单产品选择
public static final String IFCODE1032 = "1032"; //返回工作台菜单列表
public static final String IFCODE1004 = "1004"; //统一门户账号密码登录
public static final String IFCODE1005 = "1005"; //统一门户手机号验证码登录
public static final String IFCODE1006 = "1006"; //登录确认(获取Access-Token)
public static final String IFCODE_ACTIVE_OBUIMG = "4a95e1d90e824ee8a50aa9826617e736"; //设备激活照片上传
public static final String IFCODE_ADD_OBU = "837c22e80fa34506a0855306d9cbb6f7"; //增补OBU
public static final String IFCODE_ENUM = "cefb3b5da25a49eeb18865c00bc91c96"; //枚举值查询

+ 4
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/api/bean/ResultBean.java ファイルの表示

@@ -280,6 +280,8 @@ public class ResultBean<T> {
public List<BizContent> vehicles; //车辆信息查询列表
public List<BizContent> transferLogs; //卡签列表
public List<BizContent> cards; //卡列表
public List<BizContent> menuList; //菜单列表
public List<BizContent> subMenus; //子菜单列表
public EnumListEntity dictTypeAndItem; //枚举值列表
public long passTotal; //通行合计
public long parkTotal; //停车合计
@@ -340,6 +342,8 @@ public class ResultBean<T> {
public String ownerIdType; //车主证件类型
public String ownerPosImgUrl; //车主证件类型
public String ownerNegImgUrl; //车主证件类型
public String link; //路由链接
public String iconPath; //图标字段

private String appId = "52030131";
private String openId = (String) MyShared.getInstance().get(MyShared.OPENID,"");

+ 4
- 4
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/BusinessDetectionActivity.java ファイルの表示

@@ -69,9 +69,10 @@ public class BusinessDetectionActivity extends AppActivity
protected void initView() {
setTitle("业务检测");
binding.rvStatusList.setAdapter(adapter);
// binding.rlStatusRefresh.setOnRefreshLoadMoreListener(this);
// binding.rlStatusRefresh.setOnRefreshListener(this);
SearchCarInfoUtils searchUtils = new SearchCarInfoUtils(this, new SearchCarInfoUtils.OnCustomReqCallback() {

binding.rlStatusRefresh.setOnRefreshLoadMoreListener(this);
binding.rlStatusRefresh.setOnRefreshListener(this);
new SearchCarInfoUtils(this, new SearchCarInfoUtils.OnCustomReqCallback() {
@Override
public void request(String vehicle, int vehicleColor, PopupKeyboard mPopupKeyboard) {
licensePlate = vehicle;
@@ -80,7 +81,6 @@ public class BusinessDetectionActivity extends AppActivity
LoadData();
}
});
searchUtils.setExpandParams(true, true);
}

@Override

+ 1
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/my/RemoveLicensePlateOccupation.java ファイルの表示

@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.Map;

/**
* 解除车牌占用
* @author admin
*/
public class RemoveLicensePlateOccupation extends AppActivity {

+ 1
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/activity/order/OrderDetailsActivity.java ファイルの表示

@@ -113,6 +113,7 @@ public class OrderDetailsActivity extends AppActivity implements StatusAction ,
addItemView(binding.LLBaseInfoContent, "订单编号", FunHelper.isEmpty(orderData.getOrderId()) ? "" : orderData.getOrderId(), 1, false);
addItemView(binding.LLBaseInfoContent, "业务类型", EnumBean.backValue(orderData.orderType, EnumBean.ORDER_TYPE), 1, false);
addItemView(binding.LLBaseInfoContent, "订单车牌号", FunHelper.isEmpty(orderData.getVehiclePlate()) ? "" : orderData.getVehiclePlate(), 1, false);
addItemView(binding.LLBaseInfoContent, "订单车牌号颜色", FunHelper.isEmpty(orderData.getVehiclePlateColorStr()) ? "" : orderData.getVehiclePlateColorStr(), 1, false);
addItemView(binding.LLBaseInfoContent, "用户类型", (orderData.getUserType().equals("PERSONAL_USER") || orderData.getUserType().equals("1")) ? "个人" : "单位", 1, false);
addItemView(binding.LLBaseInfoContent, "车辆类型", EnumBean.backValue(orderData.getType(), EnumBean.CAR_TYPE), 1, false);
addItemView(binding.LLBaseInfoContent, "订单金额", "¥ " + (Integer.parseInt(FunHelper.isEmpty(orderData.getAmount()) ? "0" : orderData.getAmount()) * 0.01), 2, false);

+ 46
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/MenuListAdapter.java ファイルの表示

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

import android.content.Context;

import com.blankj.utilcode.util.LogUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.interfaces.INOnItemClickListener;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;

import org.jetbrains.annotations.NotNull;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

/**
* Date :2023-03-31
* Description:菜单列表adapter
*/
public class MenuListAdapter extends BaseQuickAdapter<ResultBean.BizContent, BaseViewHolder> {
private Context mContext;
private INOnItemClickListener listener;
private MenuListItemAdapter itemAdapter;

public MenuListAdapter(Context mContext,INOnItemClickListener listener) {
super(R.layout.item_menu_list);
this.mContext = mContext;
this.listener = listener;
}

@Override
protected void convert(@NonNull @NotNull BaseViewHolder holder, ResultBean.BizContent bizContent) {
holder.setText(R.id.tvTitle,FunHelper.isEmpty(bizContent.getName()) ? "" : bizContent.getName());
RecyclerView mRecycleView = holder.getView(R.id.mRecycleView);
holder.setGone(R.id.tvLine,holder.getLayoutPosition() == getData().size() - 1 ? true : false);

itemAdapter = new MenuListItemAdapter(mContext,listener);
mRecycleView.setNestedScrollingEnabled(false);
mRecycleView.setLayoutManager(new GridLayoutManager(mContext,5));
mRecycleView.setAdapter(itemAdapter);
itemAdapter.replaceData(bizContent.subMenus);
}
}

+ 46
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/MenuListItemAdapter.java ファイルの表示

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

import android.content.Context;
import android.view.View;
import android.widget.ImageView;

import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.project.api.MyRetrofit;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.interfaces.INOnItemClickListener;
import com.huntersun.vkyes.etcopencard.src.http.glide.GlideApp;

import androidx.annotation.NonNull;

/**
* Date :2023-03-31
* Description:菜单Item列表adapter
*/
public class MenuListItemAdapter extends BaseQuickAdapter<ResultBean.BizContent, BaseViewHolder> {
private Context mContext;
private INOnItemClickListener listener;

public MenuListItemAdapter(Context mContext,INOnItemClickListener listener) {
super(R.layout.item_grad_list);
this.mContext = mContext;
this.listener = listener;
}

@Override
protected void convert(@NonNull BaseViewHolder holder, ResultBean.BizContent bizContent) {
ImageView image = holder.getView(R.id.image);
holder.setText(R.id.text,bizContent.getName());
GlideApp.with(mContext).load(MyRetrofit.URL_APP_IMG + bizContent.iconPath).into(image);

holder.setOnClickListener(R.id.layout, new View.OnClickListener() {
@Override
public void onClick(View view) {
if (listener != null){
listener.onItemClick(bizContent);
}
}
});
}
}

+ 11
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/adapter/interfaces/INOnItemClickListener.java ファイルの表示

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

import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;

/**
* Date :2023-03-31
* Description:Item点击事件
*/
public interface INOnItemClickListener {
void onItemClick(ResultBean.BizContent bizContent);
}

+ 1
- 4
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/fragment/FragmentHomeThree.java ファイルの表示

@@ -8,15 +8,12 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.databinding.FragmentHomeThreeBinding;
import com.huntersun.vkyes.etcopencard.databinding.FragmentHomeTwoBinding;
import com.huntersun.vkyes.etcopencard.project.ui.activity.MainActivity;
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick;
import com.huntersun.vkyes.etcopencard.src.app.AppFragment;
import com.huntersun.vkyes.etcopencard.src.app.TitleBarFragment;

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


/**
@@ -61,7 +58,7 @@ public class FragmentHomeThree extends TitleBarFragment<MainActivity> {
BaseQuickAdapter<String, BaseViewHolder> adapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_list_content) {
@Override
protected void convert(BaseViewHolder helper, String item) {
helper.setGone(R.id.tvLine,helper.getLayoutPosition() == getData().size() - 1 ? true : false);
}
};


+ 90
- 192
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/fragment/FragmentHomeTow.java ファイルの表示

@@ -1,28 +1,31 @@
package com.huntersun.vkyes.etcopencard.project.ui.fragment;

import android.text.Editable;
import android.os.Build;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.LogUtils;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.databinding.FragmentHomeFiveBinding;
import com.huntersun.vkyes.etcopencard.project.api.MyRetrofit;
import com.huntersun.vkyes.etcopencard.project.api.bean.IFCode;
import com.huntersun.vkyes.etcopencard.project.api.bean.ResultBean;
import com.huntersun.vkyes.etcopencard.project.api.bean.TestBean;
import com.huntersun.vkyes.etcopencard.project.tool.MyShared;
import com.huntersun.vkyes.etcopencard.project.tool.Utils;
import com.huntersun.vkyes.etcopencard.project.ui.activity.BusinessDetectionActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.MainActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.AddObuStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.BalanceReplacementStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.CardUnlockPinActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.CheckRunningWaterStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.DevicePendingActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.EditCarInfoStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.EditUserInfoStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.EquipmentLossReportActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.EquipmentLossReportStep1Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.EquipmentUpgradeActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.ExtraCreditStep1Activity;
@@ -38,59 +41,33 @@ import com.huntersun.vkyes.etcopencard.project.ui.activity.evaluate.UserEvaluate
import com.huntersun.vkyes.etcopencard.project.ui.activity.mail.InfoTabActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.mail.ListDeliveryActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.my.RemoveLicensePlateOccupation;
import com.huntersun.vkyes.etcopencard.project.ui.activity.obu.ObuActivationHintActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.obu.ObuActivationHintCheckOrderActivity;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.MenuListAdapter;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.interfaces.INOnItemClickListener;
import com.huntersun.vkyes.etcopencard.project.utils.Constants;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick;
import com.huntersun.vkyes.etcopencard.src.app.AppFragment;
import com.huntersun.vkyes.etcopencard.src.app.TitleBarFragment;
import com.huntersun.vkyes.etcopencard.src.widget.BaseTextWatcher;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import androidx.annotation.RequiresApi;

/**
* @author admin
* 工作台管理
* 路由定义详见 项目 -> README.md -> 页面路由
*/
public class FragmentHomeTow extends TitleBarFragment<MainActivity> {
private FragmentHomeFiveBinding binding;

private final Object[][] commonFunctions = {
{R.mipmap.card5, "业务检测"},
{R.mipmap.card3, "充值圈存"},
{R.mipmap.card8, "设备激活"},
{R.mipmap.card1, "卡签信息查询"},
{R.mipmap.card19, "解除车牌占用"}
};

private final Object[][] menu = {
{R.mipmap.card2, "发货管理"},
{R.mipmap.card5, "卡签挂失/解挂"},
{R.mipmap.card4, "卡签注销"},
{R.mipmap.card10, "更换卡签"},
{R.mipmap.card9, "储值卡转记账卡"},
{R.mipmap.card12, "卡签停用启用"},
{R.mipmap.card13, "卡签续期"},
{R.mipmap.card14, "设备升级"},
{R.mipmap.card11, "卡Pin码解锁"},
{R.mipmap.card10, "欠费补缴"},
{R.mipmap.card10, "余额补领"},
{R.mipmap.card16, "ETC过户"},
{R.mipmap.card6, "用户信息变更"},
{R.mipmap.card7, "车辆信息变更"},
{R.mipmap.card5, "通行流水查询"},
{R.mipmap.card17, "增补OBU"},
{R.mipmap.card2, "补卡额申请"},

//下面暂时隐藏
/*
{R.mipmap.card20, "圈存退费"},
{R.mipmap.card17, "签约账户变更"}, //待定
{R.mipmap.card15, "审核管理"},
{R.mipmap.card7, "满意度评价"},
{R.mipmap.card18, "发票管理"},
{R.mipmap.card3, "卡签版本查询"},
{R.mipmap.card6, "公务车发行"},
{R.mipmap.card6, "卡签挂起/解挂"}, APP端 */
};
private MenuListAdapter menuListAdapter;
private List<ResultBean.BizContent> menuList;
private String dataJson;

public static AppFragment<MainActivity> newInstance() {
return new FragmentHomeTow();
@@ -104,177 +81,98 @@ public class FragmentHomeTow extends TitleBarFragment<MainActivity> {

@Override
protected void initView() {
binding.layout1.setVisibility(View.VISIBLE);
binding.layout2.setVisibility(View.GONE);
binding.layout3.setVisibility(View.GONE);
binding.recycler2.setAdapter(adapter);
binding.recycler3.setAdapter(adapter2);
List<TestBean> list2 = new ArrayList<>();
List<TestBean> list1 = new ArrayList<>();

for (Object[] objects : menu) {
list1.add(new TestBean((Integer) objects[0], (String) objects[1]));
}
for (Object[] objects : commonFunctions) {
list2.add(new TestBean((Integer) objects[0], (String) objects[1]));
}

/**
* 圈存(充钱)->注销(类似挂起,但不能回滚)->挂失(不允许通行,卡还能用,不释放车牌)->挂起(不允许通行,释放车牌)
*/
binding.text1.addTextChangedListener(new TextWatcher() {
// 在文本内容发生改变之前调用
menuListAdapter = new MenuListAdapter(getContext(), new INOnItemClickListener() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
public void onItemClick(ResultBean.BizContent bizContent) {
jumpToPageWithPath(bizContent.link);
}
});
binding.mRecycleView.setAdapter(menuListAdapter);

// 在文本内容发生改变时调用
/*圈存(充钱)->注销(类似挂起,但不能回滚)->挂失(不允许通行,卡还能用,不释放车牌)->挂起(不允许通行,释放车牌)*/
binding.etSearch.addTextChangedListener(new BaseTextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}

@Override
public void afterTextChanged(Editable s) {
// method(s.toString(), list1);
// method(s.toString(), list2);
super.onTextChanged(s, start, before, count);
filterList(s.toString());
}
});
adapter.replaceData(list1);
adapter2.replaceData(list2);
}

@Override
protected void initData() {
getMenuList();
}

public void method(String s, List<TestBean> list1) {
List<TestBean> list2 = new ArrayList<>();
// 在文本内容发生改变之后调用
for (TestBean item : list1) {
if (item.message.contains(s.toString())) {
list2.add(item);
/*
* 获取菜单列表
*/
private void getMenuList() {
Map<String, String> params = new HashMap<>();
params.put("openId", (String) MyShared.getInstance().get(MyShared.OPENID, ""));
params.put("systemType", "7");
params.put("loginSource", Constants.LOGIN_SOURCE);
MyRetrofit.newInstance(IFCode.IFCODE1032, params, new MyRetrofit.ReturnResult() {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent1) {
dataJson = JSON.toJSONString(bizContent1);
menuList = bizContent1.menuList;
setData(menuList);
}
});
}

/*
* 检索数据
* @param keywords
*/
private void filterList(String keywords) {
menuList = JSON.parseObject(dataJson,ResultBean.BizContent.class).menuList;
if (FunHelper.isEmpty(keywords)) {
setData(menuList);
return;
}
//判断为空直接
if (TextUtils.isEmpty(s)) {
adapter.replaceData(list1);
} else {
adapter.replaceData(list2);

List<ResultBean.BizContent> newList = new ArrayList<>();
for (int i = 0; i < menuList.size(); i++) {
ResultBean.BizContent parentBean = menuList.get(i);
parentBean.subMenus = filterKeyword(keywords, parentBean.subMenus);
if (!FunHelper.isEmpty(parentBean.subMenus)) {
newList.add(parentBean);
}
}
setData(newList);
}

BaseQuickAdapter<TestBean, BaseViewHolder> adapter = new BaseQuickAdapter<TestBean, BaseViewHolder>(R.layout.item_grad_list) {
@Override
protected void convert(BaseViewHolder helper, TestBean item) {
helper.setImageResource(R.id.image, item.imgId);
helper.setText(R.id.text, item.message);
helper.setOnClickListener(R.id.layout, new View.OnClickListener() {
@Override
@SingleClick
public void onClick(View v) {
start(item);
}
});
/*
* 过滤搜索关键字
*
* @param keyword
*/
private List<ResultBean.BizContent> filterKeyword(String keyword, List<ResultBean.BizContent> list) {
if (FunHelper.isEmpty(keyword)) {
return list;
}
};

BaseQuickAdapter<TestBean, BaseViewHolder> adapter2 = new BaseQuickAdapter<TestBean, BaseViewHolder>(R.layout.item_grad_list) {
@Override
protected void convert(BaseViewHolder helper, TestBean item) {
helper.setImageResource(R.id.image, item.imgId);
helper.setText(R.id.text, item.message);
helper.setOnClickListener(R.id.layout, new View.OnClickListener() {
@Override
@SingleClick
public void onClick(View v) {
start(item);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N){
return list.stream().filter((ResultBean.BizContent bean) -> bean.getName().contains(keyword)).collect(Collectors.toList());
}else{
List<ResultBean.BizContent> subList = new ArrayList<>();
for (int j = 0; j < list.size(); j++) {
ResultBean.BizContent bean = (ResultBean.BizContent) list.get(j);
if (bean.getName().contains(keyword)) {
subList.add(bean);
}
});
}
return subList;
}
};
}


public void start(TestBean item) {
switch (item.message) {
case "业务检测":
startActivity(BusinessDetectionActivity.class);
break;
case "卡签信息查询":
startActivity(InfoTabActivity.class);
//startActivity(CardSignQueryActivity.class);
break;
case "发货管理":
startActivity(ListDeliveryActivity.class);
break;
case "充值圈存":
startActivity(TopUpActivity.class);
break;
case "卡签注销":
//startActivity(CancellationActivity.class);
jumpToPage(LogoutEtcStep1Activity.class);
break;
case "卡签挂失/解挂":
startActivity(EquipmentLossReportStep1Activity.class);
break;
case "卡签挂起/解挂":
startActivity(DevicePendingActivity.class);
break;
case "储值卡转记账卡":
//遵循UI设计图 但是不符合现在业务-
//startActivity(ValueToBookkeepingCardActivity.class);
jumpToPage(PetCardToAccountCardStep1Activity.class);
break;
case "更换卡签":
jumpToPage(ReplaceEtcStep1Activity.class);
break;
case "欠费补缴":
jumpToPage(PayTheArrearsStep0Activity.class);
break;
case "余额补领":
jumpToPage(BalanceReplacementStep1Activity.class);
break;
case "卡签停用启用":
jumpToPage(StartStopEtcActivity.class);
break;
case "卡签续期":
jumpToPage(RenewCardObuActivity.class);
break;
case "解除车牌占用":
jumpToPage(RemoveLicensePlateOccupation.class);
break;
case "设备升级":
jumpToPage(EquipmentUpgradeActivity.class);
break;
case "卡Pin码解锁":
jumpToPage(CardUnlockPinActivity.class);
break;
case "满意度评价":
startActivity(UserEvaluateActivity.class);
break;
case "设备激活":
jumpToPage(ObuActivationHintCheckOrderActivity.class);
break;
case "ETC过户":
jumpToPage(TransferOwnershipStep1Activity.class);
break;
case "补卡额申请":
jumpToPage(ExtraCreditStep1Activity.class);
break;
case "通行流水查询":
jumpToPage(CheckRunningWaterStep1Activity.class);
break;
case "用户信息变更":
jumpToPage(EditUserInfoStep1Activity.class);
break;
case "车辆信息变更":
jumpToPage(EditCarInfoStep1Activity.class);
break;
case "增补OBU":
jumpToPage(AddObuStep1Activity.class);
break;
default:
new Utils().showMessDialog(getActivity(), "功能正在开发中...");
break;
private void setData(List<ResultBean.BizContent> list) {
if (menuListAdapter != null) {
menuListAdapter.replaceData(list);
}
}
}

+ 1
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/ui/fragment/FragmentSonOne.java ファイルの表示

@@ -208,6 +208,7 @@ public class FragmentSonOne extends TitleBarFragment<MainActivity>
helper.setText(R.id.text6, "0".equals(item.getType()) ? "客车办理" : "货车办理");
helper.setText(R.id.text7, "0".equals(item.getType()) ? "客车" : "货车");
helper.setText(R.id.text8, item.getAmount() == null ? "0.00元" : Integer.parseInt(item.getAmount()) * 0.01 + "元");
helper.setGone(R.id.tvLine,helper.getLayoutPosition() == getData().size() - 1 ? true : false);

new OrderUtils(getActivity(), item, true, helper.getView(R.id.LLBtns),
helper.getView(R.id.btnFinish), helper.getView(R.id.btnLogistics),

+ 2
- 1
app/src/main/java/com/huntersun/vkyes/etcopencard/project/utils/Constants.java ファイルの表示

@@ -11,7 +11,8 @@ public class Constants {
public static final String SOURCE = "SERVICE_HALL";
//机构ID
public static final String agencyId = "52010106004";

//登录来源方
public static final String LOGIN_SOURCE = "3e4b3a53cf0f4172b23dccd95d3e99a0";
//支付配置编号
public static final String PAY_CONFIG_ID = "6a9a54bc01f6443faea7ffeb8b5b19f6";


+ 8
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/project/utils/FunHelper.java ファイルの表示

@@ -10,9 +10,17 @@ import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;

import com.blankj.utilcode.util.LogUtils;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;

+ 21
- 0
app/src/main/java/com/huntersun/vkyes/etcopencard/src/app/TitleBarFragment.java ファイルの表示

@@ -8,6 +8,7 @@ import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.blankj.utilcode.util.LogUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
@@ -15,6 +16,7 @@ import com.gyf.immersionbar.ImmersionBar;
import com.hjq.bar.TitleBar;
import com.huntersun.vkyes.etcopencard.R;
import com.huntersun.vkyes.etcopencard.project.ui.adapter.DataTypeAdaptor;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.action.TitleBarAction;

import java.util.Map;
@@ -149,4 +151,23 @@ public abstract class TitleBarFragment<A extends AppActivity> extends AppFragmen
jumpToPage(activityClass, bundle, isReturn, requestCode);
}

/*
* 根据字符串 跳转到页面
* @param path com.huntersun.vkyes.etcopencard.project.ui.activity.after.XXXX
*/
public void jumpToPageWithPath(String path){
if (FunHelper.isEmpty(path)){
toast("页面不存在!");
return;
}
try {
Class clz = Class.forName(path);
jumpToPage(clz);
} catch (ClassNotFoundException e) {
toast("页面跳转失败!");
e.printStackTrace();
LogUtils.e(">>>>>>跳转失败",e.getMessage());
}
}

}

+ 13
- 8
app/src/main/java/com/huntersun/vkyes/etcopencard/src/ui/activity/LoginActivity.java ファイルの表示

@@ -40,6 +40,7 @@ import com.huntersun.vkyes.etcopencard.project.ui.activity.MainActivity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.CheckRunningWaterStep2Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.after.ReplaceEtcStep4Activity;
import com.huntersun.vkyes.etcopencard.project.ui.activity.user.ForgetPwdStep1Activity;
import com.huntersun.vkyes.etcopencard.project.utils.Constants;
import com.huntersun.vkyes.etcopencard.project.utils.FunHelper;
import com.huntersun.vkyes.etcopencard.src.aop.SingleClick;
import com.huntersun.vkyes.etcopencard.src.app.AppActivity;
@@ -338,20 +339,20 @@ public final class LoginActivity extends AppActivity implements KeyboardWatcher.
finish();
}

/**
/*
* 通过code获取登录用户信息
*
* @param code
*/
private void getLoginInfo(String code) {
ResultBean.BizContent content = new ResultBean.BizContent();
content.setCode(code);
MyRetrofit.newInstance(IFCode.IFCODE5, content, new MyRetrofit.ReturnResult() {
Map<String, String> params = new HashMap<>();
params.put("code", code);
params.put("loginSource", Constants.LOGIN_SOURCE);
//MyRetrofit.newInstance(IFCode.IFCODE5, params, new MyRetrofit.ReturnResult() {
MyRetrofit.newInstance(IFCode.IFCODE1006, params, new MyRetrofit.ReturnResult() {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
loginSuccess(bizContent);
}

@Override
public void onError() {
MyRetrofit.ReturnResult.super.onError();
@@ -369,8 +370,10 @@ public final class LoginActivity extends AppActivity implements KeyboardWatcher.
Map<String, String> params = new HashMap<>();
params.put("mobile", mPhoneView.getText() + "");
params.put("password", FunHelper.getText(mPasswordView));
params.put("loginSource", Constants.LOGIN_SOURCE);
params.put("appId", "52030131"); //综合业务支撑平台使用
MyRetrofit.newInstance(IFCode.IFCODE4, params, new MyRetrofit.ReturnResult() {
//MyRetrofit.newInstance(IFCode.IFCODE4, params, new MyRetrofit.ReturnResult() {
MyRetrofit.newInstance(IFCode.IFCODE1004, params, new MyRetrofit.ReturnResult() {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
getLoginInfo(bizContent.getCode());
@@ -394,7 +397,9 @@ public final class LoginActivity extends AppActivity implements KeyboardWatcher.
params.put("mobile", FunHelper.getText(mPhoneView));
params.put("code", FunHelper.getText(mCodeView));
params.put("appId", "52030131");
MyRetrofit.newInstance(IFCode.IFCODE55, params, new MyRetrofit.ReturnResult() {
params.put("loginSource", Constants.LOGIN_SOURCE);
//MyRetrofit.newInstance(IFCode.IFCODE55, params, new MyRetrofit.ReturnResult() {
MyRetrofit.newInstance(IFCode.IFCODE1005, params, new MyRetrofit.ReturnResult() {
@Override
public void onSuccess(ResultBean resultBean, ResultBean.BizContent bizContent) {
getLoginInfo(bizContent.getCode());

+ 14
- 150
app/src/main/res/layout-v2/fragment_home_five.xml ファイルの表示

@@ -2,13 +2,12 @@
<LinearLayout 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="match_parent"
android:orientation="vertical">
android:background="@color/background_color"
style="@style/MatchMatch.Vertical">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_150"
android:layout_height="@dimen/dp_125"
android:background="@drawable/home_unm_bg7"
android:orientation="vertical">

@@ -25,15 +24,13 @@
android:text="工作台"
android:textColor="@color/white"
android:textSize="@dimen/sp_18" />

</LinearLayout>


<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:layout_height="@dimen/dp_35"
android:layout_marginHorizontal="@dimen/dp_15"
android:layout_marginTop="@dimen/dp_36"
android:layout_marginTop="@dimen/dp_15"
android:background="@drawable/item_home_frame3"
android:gravity="center_vertical"
android:paddingHorizontal="@dimen/dp_15">
@@ -44,155 +41,22 @@
android:src="@drawable/search_ic" />

<com.hjq.widget.view.ClearEditText
android:id="@+id/text1"
android:id="@+id/etSearch"
style="@style/EditTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:drawablePadding="@dimen/dp_15"
android:hint="请输入关键词"
android:paddingHorizontal="@dimen/dp_20" />

</LinearLayout>

</LinearLayout>

<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="@dimen/dp_15">

<LinearLayout
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="常用功能"
android:textColor="#333333"
android:textSize="@dimen/sp_14" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_12"
android:background="@drawable/home_unm_bg2"
android:orientation="vertical"
android:paddingHorizontal="@dimen/dp_5">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="5"
tools:listitem="@layout/item_grad_list" />

</LinearLayout>

</LinearLayout>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/dp_12"
android:layout_marginBottom="@dimen/dp_12"
android:text="售后业务服务" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/home_unm_bg2"
android:orientation="vertical"
android:paddingHorizontal="@dimen/dp_5">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="5"
tools:listitem="@layout/item_grad_list" />

</LinearLayout>


<LinearLayout
android:id="@+id/layout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/dp_12"
android:text="查询功能"
android:textColor="#333333" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/home_unm_bg2"
android:orientation="vertical"
android:paddingHorizontal="@dimen/dp_20">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="5"
tools:listitem="@layout/item_grad_list" />

</LinearLayout>

</LinearLayout>

<LinearLayout
android:id="@+id/layout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/dp_12"
android:text="其它服务"
android:textColor="#333333" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/home_unm_bg2"
android:orientation="vertical"
android:paddingHorizontal="@dimen/dp_20">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recycler5"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="5"
tools:listitem="@layout/item_grad_list" />

</LinearLayout>
</LinearLayout>
</LinearLayout>

</androidx.core.widget.NestedScrollView>


<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mRecycleView"
style="@style/MatchWrap"
android:paddingHorizontal="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:spanCount="5"
tools:listitem="@layout/item_menu_list" />
</LinearLayout>

+ 2
- 1
app/src/main/res/layout-v2/fragment_home_three.xml ファイルの表示

@@ -4,6 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_color"
android:orientation="vertical">

<com.hjq.bar.TitleBar
@@ -129,7 +130,7 @@
android:id="@+id/rv_status_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/dp_15"
android:layout_marginBottom="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listCount="10"
tools:listitem="@layout/item_list_content" />

+ 226
- 199
app/src/main/res/layout-v2/fragment_home_two.xml ファイルの表示

@@ -1,10 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="match_parent"
android:orientation="vertical">
style="@style/MatchMatch.Vertical"
android:gravity="center">

<com.hjq.bar.TitleBar
android:layout_width="match_parent"
@@ -16,229 +14,258 @@
app:titleColor="#333333"
app:titleSize="@dimen/sp_18" />

<LinearLayout
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:padding="@dimen/dp_15">
android:layout_height="match_parent"
android:background="@color/background_color"
android:orientation="vertical">

<LinearLayout
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_15"
android:orientation="horizontal">
app:elevation="0dp">

<LinearLayout
android:layout_width="0dp"
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/statistics1"
android:gravity="center"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_8">
android:background="@color/transparent"
app:contentScrim="@color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

<TextView
style="@style/whiteTextStyle12"
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="全部" />
android:orientation="vertical"
app:layout_collapseMode="parallax"
app:layout_scrollFlags="scroll|exitUntilCollapsed">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical"
android:paddingTop="@dimen/dp_15"
android:paddingHorizontal="@dimen/dp_15">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_15"
android:orientation="horizontal">

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/statistics1"
android:gravity="center"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_8">

<TextView
style="@style/whiteTextStyle12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="全部" />

<TextView
style="@style/whiteTextStyleBold18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp"
android:text="12" />

</LinearLayout>

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_22"
android:layout_weight="1"
android:background="@drawable/statistics2"
android:gravity="center"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_8">

<TextView
style="@style/whiteTextStyle12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="办理中" />

<TextView
style="@style/whiteTextStyleBold18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp"
android:text="10" />

</LinearLayout>

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/statistics3"
android:gravity="center"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_8">

<TextView
style="@style/whiteTextStyle12"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="已完成" />

<TextView
style="@style/whiteTextStyleBold18"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp"
android:text="3" />

</LinearLayout>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_35"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/dp_2">

<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/item_home_frame3"
android:gravity="center_vertical"
android:paddingHorizontal="@dimen/dp_12">

<ImageView
android:layout_width="18dp"
android:layout_height="@dimen/sp_15"
android:src="@drawable/search_ic" />

<com.hjq.widget.view.ClearEditText
android:id="@+id/edit_query"
style="@style/EditTextStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="请输入关键词"
android:imeActionLabel="Search"
android:imeOptions="actionSearch"
android:inputType="text"
android:paddingVertical="0dp"
android:singleLine="true" />

</LinearLayout>

<Button
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_10"
android:background="@drawable/item_home_frame3"
android:text="搜索"
android:textColor="#999999"
android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>

<!--吸顶部分-->
<LinearLayout
style="@style/MatchWrap.Horizontal"
android:paddingVertical="@dimen/dp_12"
android:background="@color/white"
android:gravity="center">

<TextView
style="@style/whiteTextStyleBold18"
android:id="@+id/textOne"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp"
android:text="12" />

</LinearLayout>

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_22"
android:layout_weight="1"
android:background="@drawable/statistics2"
android:gravity="center"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_8">
android:layout_height="@dimen/dp_35"
android:background="@drawable/state1"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="全部"
android:textColor="@color/white"
android:textSize="@dimen/sp_14" />

<TextView
style="@style/whiteTextStyle12"
android:id="@+id/textTwo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="办理中" />
android:layout_height="@dimen/dp_35"
android:layout_marginLeft="@dimen/dp_5"
android:background="#F5F5F5"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="申办中"
android:textColor="#666666"
android:textSize="@dimen/sp_14" />

<TextView
style="@style/whiteTextStyleBold18"
android:id="@+id/textThree"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp"
android:text="10" />

</LinearLayout>

<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/statistics3"
android:gravity="center"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_8">
android:layout_height="@dimen/dp_35"
android:layout_marginLeft="@dimen/dp_5"
android:background="#F5F5F5"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="待发货"
android:textColor="#666666"
android:textSize="@dimen/sp_14" />

<TextView
style="@style/whiteTextStyle12"
android:id="@+id/textFour"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="已完成" />
android:layout_height="@dimen/dp_35"
android:layout_marginLeft="@dimen/dp_5"
android:background="#F5F5F5"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="待激活"
android:textColor="#666666"
android:textSize="@dimen/sp_14" />

<TextView
style="@style/whiteTextStyleBold18"
android:id="@+id/textFive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7.5dp"
android:text="3" />

android:layout_height="@dimen/dp_35"
android:layout_marginLeft="@dimen/dp_5"
android:background="@drawable/state3_no"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="已完成"
android:textColor="@color/text_off"
android:textSize="@dimen/sp_14" />
</LinearLayout>

</LinearLayout>
</com.google.android.material.appbar.AppBarLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_35"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/dp_2">

<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@drawable/item_home_frame3"
android:gravity="center_vertical"
android:paddingHorizontal="@dimen/dp_12">

<ImageView
android:layout_width="18dp"
android:layout_height="@dimen/sp_15"
android:src="@drawable/search_ic" />

<com.hjq.widget.view.ClearEditText
android:id="@+id/edit_query"
style="@style/EditTextStyle"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:hint="请输入关键词"
android:imeActionLabel="Search"
android:imeOptions="actionSearch"
android:inputType="text"
android:paddingVertical="0dp"
android:singleLine="true" />

</LinearLayout>

<Button
android:id="@+id/search"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:animationCache="true"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:paddingHorizontal="@dimen/dp_15"
android:paddingBottom="@dimen/dp_15">

<com.huntersun.vkyes.etcopencard.project.view.CustomViewPager
android:id="@+id/vp_home_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_10"
android:background="@drawable/item_home_frame3"
android:text="搜索"
android:textColor="#999999"
android:textSize="12sp" />
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_35"
android:layout_marginTop="@dimen/dp_15"
android:gravity="center"
android:orientation="horizontal">

<TextView
android:id="@+id/textOne"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="@drawable/state1"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="全部"
android:textColor="@color/white"
android:textSize="@dimen/sp_14" />

<TextView
android:id="@+id/textTwo"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_5"
android:background="#F5F5F5"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="申办中"
android:textColor="#666666"
android:textSize="@dimen/sp_14" />

<TextView
android:id="@+id/textThree"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_5"
android:background="#F5F5F5"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="待发货"
android:textColor="#666666"
android:textSize="@dimen/sp_14" />

<TextView
android:id="@+id/textFour"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_5"
android:background="#F5F5F5"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="待激活"
android:textColor="#666666"
android:textSize="@dimen/sp_14" />

<TextView
android:id="@+id/textFive"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/dp_5"
android:background="@drawable/state3_no"
android:gravity="center"
android:paddingLeft="@dimen/dp_10"
android:paddingRight="@dimen/dp_10"
android:text="已完成"
android:textColor="@color/text_off"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:animationCache="true"
android:orientation="vertical"
android:paddingHorizontal="@dimen/dp_15"
android:paddingBottom="@dimen/dp_15">

<com.huntersun.vkyes.etcopencard.project.view.CustomViewPager
android:id="@+id/vp_home_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</LinearLayout>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>

+ 3
- 2
app/src/main/res/layout-v3/item_grad_list.xml ファイルの表示

@@ -11,7 +11,7 @@
android:id="@+id/image"
android:layout_width="44dp"
android:layout_height="44dp"
android:src="@mipmap/ioc1" />
android:src="@mipmap/card1" />

<TextView
android:id="@+id/text"
@@ -23,6 +23,7 @@
android:singleLine="false"
android:text="设备注销/注销注销"
android:textColor="#333333"
android:textSize="@dimen/sp_12" />
android:textSize="@dimen/sp_10"
android:textStyle="bold"/>

</LinearLayout>

+ 8
- 1
app/src/main/res/layout-v3/item_list_content.xml ファイルの表示

@@ -3,7 +3,7 @@
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_15"
android:background="@drawable/home_search_bar_gray_bg2"
android:orientation="vertical">

@@ -190,4 +190,11 @@
android:layout_margin="@dimen/dp_10" />

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

<TextView
android:id="@+id/tvLine"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_20"
android:visibility="gone"
android:background="@color/background_color"/>
</LinearLayout>

+ 37
- 0
app/src/main/res/layout-v3/item_menu_list.xml ファイルの表示

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
style="@style/MatchWrap.Vertical">

<TextView
android:id="@+id/tvTitle"
style="@style/WrapWrap"
android:text="常用功能"
android:textStyle="bold"
android:layout_marginTop="@dimen/dp_15"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp_14" />

<LinearLayout
style="@style/MatchWrap.Vertical"
android:layout_marginTop="@dimen/dp_12"
android:background="@drawable/bg_white_radius"
android:orientation="vertical"
android:paddingHorizontal="@dimen/dp_5">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mRecycleView"
style="@style/MatchWrap"
android:layout_marginTop="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
app:spanCount="5"
tools:listitem="@layout/item_grad_list" />
</LinearLayout>

<TextView
android:id="@+id/tvLine"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"/>
</LinearLayout>

+ 51
- 21
app/src/main/res/layout/activity_business_detection.xml ファイルの表示

@@ -2,10 +2,8 @@
<LinearLayout 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="match_parent"
android:orientation="vertical"
tools:context=".project.ui.activity.BusinessDetectionActivity">
style="@style/MatchMatch.Vertical"
android:gravity="center">

<com.hjq.bar.TitleBar
android:layout_width="match_parent"
@@ -15,27 +13,59 @@
app:lineVisible="false"
app:titleColor="@color/black01" />

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

<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/rl_status_refresh"
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:srlEnablePreviewInEditMode="false">
android:background="@color/background_color"
android:orientation="vertical">

<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:elevation="0dp">

<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/transparent"
app:contentScrim="@color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_collapseMode="parallax"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<include layout="@layout/layout_vehicleplate" />
</LinearLayout>
</com.google.android.material.appbar.CollapsingToolbarLayout>

<com.huntersun.vkyes.etcopencard.src.widget.StatusLayout
android:id="@+id/hl_status_hint"
</com.google.android.material.appbar.AppBarLayout>

<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/rl_status_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:srlEnablePreviewInEditMode="false">

<com.hjq.widget.layout.WrapRecyclerView
android:id="@+id/rv_status_list"
<com.huntersun.vkyes.etcopencard.src.widget.StatusLayout
android:id="@+id/hl_status_hint"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listCount="10"
tools:listitem="@layout/item_list_content" />
</com.huntersun.vkyes.etcopencard.src.widget.StatusLayout>
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
android:layout_height="match_parent">

<com.hjq.widget.layout.WrapRecyclerView
android:id="@+id/rv_status_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingHorizontal="@dimen/dp_15"
android:paddingBottom="@dimen/dp_15"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listCount="10"
tools:listitem="@layout/item_list_content" />
</com.huntersun.vkyes.etcopencard.src.widget.StatusLayout>
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</LinearLayout>

+ 2
- 2
app/src/main/res/layout/layout_vehicleplate.xml ファイルの表示

@@ -251,6 +251,7 @@
android:visibility="gone"
android:layout_centerVertical="true"
android:src="@mipmap/icon_up_grey"
android:layout_marginRight="5dp"
android:layout_alignParentLeft="true"
android:padding="@dimen/dp_10"/>
<Button
@@ -263,8 +264,7 @@
android:text="搜索"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/dp_5"
android:textSize="@dimen/sp_12" />
android:textSize="@dimen/sp_14" />
</LinearLayout>
</LinearLayout>
</LinearLayout>

読み込み中…
キャンセル
保存