完成政府监管平台首页、工作台首页、个人中心首页、溯源管理、检测审核页面等框架搭建

This commit is contained in:
November 2025-04-21 17:31:21 +08:00
parent 78936d7814
commit 2d90eaa39a
30 changed files with 2777 additions and 43 deletions

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 清单文件合并指引https://developer.android.google.cn/studio/build/manifest-merge?hl=zh-cn -->
<?xml version="1.0" encoding="utf-8"?><!-- 清单文件合并指引https://developer.android.google.cn/studio/build/manifest-merge?hl=zh-cn -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.yinhetairui.digitalagriculture">
@ -11,7 +10,9 @@
<!-- 外部存储 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:ignore="ScopedStorage" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
tools:ignore="ScopedStorage" />
<!-- 拍照权限 -->
<uses-permission android:name="android.permission.CAMERA" />
@ -75,6 +76,36 @@
</activity>
<!-- 检测信息填写 -->
<activity
android:name=".ui.traceabilityManage.DetectionInfoActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- 溯源检测 -->
<activity
android:name=".ui.traceabilityManage.TraceabilityTestingActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- 检测申请审核信息 -->
<activity
android:name=".ui.traceabilityManage.ReviewInfoActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- 检测申请审核 -->
<activity
android:name=".ui.traceabilityManage.ApplicationReviewActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- 溯源管理 -->
<activity
android:name=".ui.traceabilityManage.TraceabilityManageActivity"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<!-- 注册结果 -->
<activity
android:name=".ui.login.RegisterResultActivity"

View File

@ -5,6 +5,7 @@ import androidx.fragment.app.Fragment;
import com.flyco.tablayout.CommonTabLayout;
import com.flyco.tablayout.listener.CustomTabEntity;
import com.flyco.tablayout.listener.OnTabSelectListener;
import com.gyf.immersionbar.ImmersionBar;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppActivity;
import com.yinhetairui.digitalagriculture.manager.ActivityManager;
@ -16,6 +17,8 @@ import com.yinhetairui.digitalagriculture.uitools.adapter.MyFragmentPagerAdapter
import com.yinhetairui.digitalagriculture.uitools.dto.MainTabDto;
import com.hjq.widget.layout.NoScrollViewPager;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
@ -30,8 +33,8 @@ public final class HomeActivity extends AppActivity {
private CommonTabLayout tlMain;
private List<String> mTitles = new ArrayList<>();
private int[] mIconUnSelectIds = {R.drawable.home_home_off_ic,R.drawable.home_home_off_ic, R.drawable.home_me_off_ic};
private int[] mIconSelectIds = {R.drawable.home_home_on_ic,R.drawable.home_home_on_ic, R.drawable.home_me_on_ic};
private int[] mIconUnSelectIds = {R.drawable.home_home_off_ic, R.drawable.home_home_off_ic, R.drawable.home_me_off_ic};
private int[] mIconSelectIds = {R.drawable.home_home_on_ic, R.drawable.home_home_on_ic, R.drawable.home_me_on_ic};
private ArrayList<Fragment> mFragments = new ArrayList<>();
private ArrayList<CustomTabEntity> mTabEntities = new ArrayList<>();
@ -84,6 +87,18 @@ public final class HomeActivity extends AppActivity {
}
@Override
protected boolean isStatusBarEnabled() {
return false;
}
@NotNull
@Override
protected ImmersionBar createStatusBarConfig() {
return super.createStatusBarConfig()
.navigationBarColor(R.color.white);
}
@Override
public void onBackPressed() {
if (!DoubleClickHelper.isOnDoubleClick()) {

View File

@ -0,0 +1,63 @@
package com.yinhetairui.digitalagriculture.ui.dto;
import java.io.Serializable;
/**
* 创建日期2025/4/21
* 作者November
* 描述function公共实体类
*/
public class CommonFuncDto implements Serializable {
private int resId;
private String name;
private boolean isShow;
private int redCount;
public CommonFuncDto() {
}
public CommonFuncDto(int resId, String name) {
this.resId = resId;
this.name = name;
}
public CommonFuncDto(int resId, String name, boolean isShow, int redCount) {
this.resId = resId;
this.name = name;
this.isShow = isShow;
this.redCount = redCount;
}
public boolean isShow() {
return isShow;
}
public void setShow(boolean show) {
isShow = show;
}
public int getRedCount() {
return redCount;
}
public void setRedCount(int redCount) {
this.redCount = redCount;
}
public int getResId() {
return resId;
}
public void setResId(int resId) {
this.resId = resId;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}

View File

@ -1,17 +1,51 @@
package com.yinhetairui.digitalagriculture.ui.home;
import android.os.Bundle;
import android.view.View;
import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.flyco.tablayout.widget.MsgView;
import com.hjq.bar.TitleBar;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppFragment;
import com.yinhetairui.digitalagriculture.app.TitleBarFragment;
import com.yinhetairui.digitalagriculture.ui.HomeActivity;
import com.yinhetairui.digitalagriculture.ui.dto.CommonFuncDto;
import com.yinhetairui.digitalagriculture.ui.traceabilityManage.TraceabilityManageActivity;
import com.yinhetairui.digitalagriculture.widget.CircleImageView;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
* 创建日期2022/11/4
* 作者llb
* 描述首页 Fragment
*/
public final class HomeFragment extends AppFragment<HomeActivity> {
public final class HomeFragment extends TitleBarFragment<HomeActivity> {
private TitleBar title;
private CircleImageView ivAvatar;
private AppCompatTextView tvName;
private AppCompatTextView tvUnit;
private AppCompatTextView tvDepartment;
private RelativeLayout rlBacklog;
private AppCompatImageView ivMsg;
private MsgView mvBacklog;
private RecyclerView rvFunction;
private BaseQuickAdapter mFunctionAdapter;
private List<CommonFuncDto> mFunctionList;
public static HomeFragment newInstance() {
Bundle args = new Bundle();
@ -25,13 +59,55 @@ public final class HomeFragment extends AppFragment<HomeActivity> {
return R.layout.fragment_home;
}
@Override
public boolean isStatusBarEnabled() {
return !super.isStatusBarEnabled();
}
@Override
protected void initView() {
title = (TitleBar) findViewById(R.id.title);
ivAvatar = (CircleImageView) findViewById(R.id.iv_avatar);
tvName = (AppCompatTextView) findViewById(R.id.tv_name);
tvUnit = (AppCompatTextView) findViewById(R.id.tv_unit);
tvDepartment = (AppCompatTextView) findViewById(R.id.tv_department);
rlBacklog = (RelativeLayout) findViewById(R.id.rl_backlog);
ivMsg = (AppCompatImageView) findViewById(R.id.iv_msg);
mvBacklog = (MsgView) findViewById(R.id.mv_backlog);
rvFunction = (RecyclerView) findViewById(R.id.rv_function);
}
@Override
protected void initData() {
mFunctionList = new ArrayList<>();
mFunctionList.add(new CommonFuncDto(R.drawable.logo_big_ic, "溯源管理"));
mFunctionList.add(new CommonFuncDto(R.drawable.logo_big_ic, "土地管理"));
mFunctionList.add(new CommonFuncDto(R.drawable.logo_big_ic, "投入品管理"));
mFunctionList.add(new CommonFuncDto(R.drawable.logo_big_ic, "主体管理"));
mFunctionAdapter = new BaseQuickAdapter<CommonFuncDto, BaseViewHolder>(R.layout.item_common_function, mFunctionList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, CommonFuncDto item) {
holder.setImageResource(R.id.iv_icon, item.getResId());
holder.setText(R.id.tv_name, item.getName());
}
};
GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 4);
rvFunction.setLayoutManager(layoutManager);
rvFunction.setNestedScrollingEnabled(false);
rvFunction.setAdapter(mFunctionAdapter);
mFunctionAdapter.setList(mFunctionList);
mFunctionAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(@NonNull @NotNull BaseQuickAdapter<?, ?> adapter, @NonNull @NotNull View view, int position) {
switch (position) {
case 0:
startActivity(TraceabilityManageActivity.class);
break;
}
}
});
}
}

View File

@ -13,6 +13,7 @@ import com.hjq.shape.view.ShapeEditText;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.aop.SingleClick;
import com.yinhetairui.digitalagriculture.app.AppActivity;
import com.yinhetairui.digitalagriculture.ui.HomeActivity;
import com.yinhetairui.digitalagriculture.utils.CustomTextWatcher;
/**
@ -97,7 +98,7 @@ public final class LoginActivity extends AppActivity {
* 密码登录
*/
private void login() {
toast("执行登录");
startActivity(HomeActivity.class);
}
@NonNull

View File

@ -1,22 +1,33 @@
package com.yinhetairui.digitalagriculture.ui.mine;
import android.view.View;
import android.widget.LinearLayout;
import androidx.appcompat.widget.AppCompatTextView;
import com.hjq.bar.TitleBar;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.aop.SingleClick;
import com.yinhetairui.digitalagriculture.app.AppFragment;
import com.yinhetairui.digitalagriculture.app.TitleBarFragment;
import com.yinhetairui.digitalagriculture.ui.HomeActivity;
import com.yinhetairui.digitalagriculture.uitools.activity.DialogActivity;
import com.hjq.shape.view.ShapeButton;
import com.yinhetairui.digitalagriculture.widget.CircleImageView;
/**
* 创建日期2022/11/4
* 作者llb
* 描述我的 Fragment
*/
public final class MineFragment extends AppFragment<HomeActivity> {
public final class MineFragment extends TitleBarFragment<HomeActivity> {
private ShapeButton sbDialog;
private TitleBar title;
private CircleImageView ivAvatar;
private AppCompatTextView tvName;
private AppCompatTextView tvDepartment;
private AppCompatTextView tvIdentity;
private LinearLayout llBacklog;
private LinearLayout llUpdatePwd;
private LinearLayout llSetting;
private LinearLayout llQuit;
public static MineFragment newInstance() {
return new MineFragment();
@ -27,12 +38,24 @@ public final class MineFragment extends AppFragment<HomeActivity> {
return R.layout.fragment_mine;
}
@Override
public boolean isStatusBarEnabled() {
return !super.isStatusBarEnabled();
}
@Override
protected void initView() {
title = (TitleBar) findViewById(R.id.title);
ivAvatar = (CircleImageView) findViewById(R.id.iv_avatar);
tvName = (AppCompatTextView) findViewById(R.id.tv_name);
tvDepartment = (AppCompatTextView) findViewById(R.id.tv_department);
tvIdentity = (AppCompatTextView) findViewById(R.id.tv_identity);
llBacklog = (LinearLayout) findViewById(R.id.ll_backlog);
llUpdatePwd = (LinearLayout) findViewById(R.id.ll_update_pwd);
llSetting = (LinearLayout) findViewById(R.id.ll_setting);
llQuit = (LinearLayout) findViewById(R.id.ll_quit);
sbDialog = (ShapeButton) findViewById(R.id.sb_dialog);
setOnClickListener(sbDialog);
setOnClickListener(ivAvatar, llBacklog, llUpdatePwd, llSetting, llQuit);
}
@Override
@ -43,8 +66,17 @@ public final class MineFragment extends AppFragment<HomeActivity> {
@SingleClick
@Override
public void onClick(View view) {
if (view == sbDialog){
startActivity(DialogActivity.class);
if (view == ivAvatar) {
} else if (view == llBacklog) {
} else if (view == llUpdatePwd) {
} else if (view == llSetting) {
} else if (view == llQuit) {
}
}
}

View File

@ -0,0 +1,95 @@
package com.yinhetairui.digitalagriculture.ui.traceabilityManage;
import android.view.View;
import android.widget.EditText;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatImageView;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.hjq.bar.TitleBar;
import com.hjq.shape.layout.ShapeLinearLayout;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppActivity;
import com.yinhetairui.digitalagriculture.widget.StatusLayout;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
* 创建日期2025/4/21
* 作者November
* 描述检测申请审核
*/
public final class ApplicationReviewActivity extends AppActivity {
private TitleBar title;
private ShapeLinearLayout llTown;
private AppCompatTextView tvTown;
private ShapeLinearLayout llVillage;
private AppCompatTextView tvVillage;
private ShapeLinearLayout llStatus;
private AppCompatTextView tvStatus;
private EditText etSearch;
private AppCompatImageView ivSearch;
private StatusLayout statusLayout;
private SmartRefreshLayout refreshLayout;
private RecyclerView rvInstitution;
private List<String> mGoodsList;
private BaseQuickAdapter mGoodsAdapter;
@Override
protected int getLayoutId() {
return R.layout.activity_application_review;
}
@Override
protected void initView() {
title = (TitleBar) findViewById(R.id.title);
llTown = (ShapeLinearLayout) findViewById(R.id.ll_town);
tvTown = (AppCompatTextView) findViewById(R.id.tv_town);
llVillage = (ShapeLinearLayout) findViewById(R.id.ll_village);
tvVillage = (AppCompatTextView) findViewById(R.id.tv_village);
llStatus = (ShapeLinearLayout) findViewById(R.id.ll_status);
tvStatus = (AppCompatTextView) findViewById(R.id.tv_status);
etSearch = (EditText) findViewById(R.id.et_search);
ivSearch = (AppCompatImageView) findViewById(R.id.iv_search);
statusLayout = (StatusLayout) findViewById(R.id.statusLayout);
refreshLayout = (SmartRefreshLayout) findViewById(R.id.refreshLayout);
rvInstitution = (RecyclerView) findViewById(R.id.rv_institution);
}
@Override
protected void initData() {
mGoodsList = new ArrayList<>();
mGoodsList.add("");
mGoodsList.add("");
mGoodsList.add("");
mGoodsList.add("");
mGoodsAdapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_application_review_goods, mGoodsList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, String item) {
}
};
rvInstitution.setLayoutManager(new LinearLayoutManager(getContext()));
rvInstitution.setAdapter(mGoodsAdapter);
mGoodsAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(@NonNull @NotNull BaseQuickAdapter<?, ?> adapter, @NonNull @NotNull View view, int position) {
startActivity(ReviewInfoActivity.class);
}
});
}
}

View File

@ -0,0 +1,27 @@
package com.yinhetairui.digitalagriculture.ui.traceabilityManage;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppActivity;
/**
* 创建日期2025/4/21
* 作者November
* 描述检测信息填写
*/
public final class DetectionInfoActivity extends AppActivity {
@Override
protected int getLayoutId() {
return R.layout.copy_activity;
}
@Override
protected void initView() {
}
@Override
protected void initData() {
}
}

View File

@ -0,0 +1,27 @@
package com.yinhetairui.digitalagriculture.ui.traceabilityManage;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppActivity;
/**
* 创建日期2025/4/21
* 作者November
* 描述审核信息
*/
public final class ReviewInfoActivity extends AppActivity {
@Override
protected int getLayoutId() {
return R.layout.activity_review_info;
}
@Override
protected void initView() {
}
@Override
protected void initData() {
}
}

View File

@ -0,0 +1,113 @@
package com.yinhetairui.digitalagriculture.ui.traceabilityManage;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.AppCompatTextView;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.hjq.bar.TitleBar;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppActivity;
import com.yinhetairui.digitalagriculture.ui.dto.CommonFuncDto;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
* 创建日期2025/4/21
* 作者November
* 描述溯源管理
*/
public final class TraceabilityManageActivity extends AppActivity {
private TitleBar title;
private RecyclerView rvManage;
private AppCompatTextView tvMore;
private RecyclerView rvInstitution;
private List<CommonFuncDto> mManageList;
private BaseQuickAdapter mManageAdapter;
private List<String> mInstitutionList;
private BaseQuickAdapter mInstitutionAdapter;
@Override
protected int getLayoutId() {
return R.layout.activity_traceability_manage;
}
@Override
protected void initView() {
title = (TitleBar) findViewById(R.id.title);
rvManage = (RecyclerView) findViewById(R.id.rv_manage);
tvMore = (AppCompatTextView) findViewById(R.id.tv_more);
rvInstitution = (RecyclerView) findViewById(R.id.rv_institution);
}
@Override
protected void initData() {
mManageList = new ArrayList<>();
mManageList.add(new CommonFuncDto(R.drawable.logo_big_ic, "检测审核"));
mManageList.add(new CommonFuncDto(R.drawable.logo_big_ic, "溯源检测"));
mManageList.add(new CommonFuncDto(R.drawable.logo_big_ic, "溯源报告"));
mManageList.add(new CommonFuncDto(R.drawable.logo_big_ic, "检测机构"));
mManageList.add(new CommonFuncDto(R.drawable.logo_big_ic, "溯源查询"));
mInstitutionList = new ArrayList<>();
mInstitutionList.add("耿马县农科所");
mInstitutionList.add("临沧市农产品质量检测中心");
mManageAdapter = new BaseQuickAdapter<CommonFuncDto, BaseViewHolder>(R.layout.item_common_function, mManageList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, CommonFuncDto item) {
holder.setImageResource(R.id.iv_icon, item.getResId());
holder.setText(R.id.tv_name, item.getName());
}
};
GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 5);
rvManage.setLayoutManager(layoutManager);
rvManage.setNestedScrollingEnabled(false);
rvManage.setAdapter(mManageAdapter);
mManageAdapter.setList(mManageList);
mManageAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(@NonNull @NotNull BaseQuickAdapter<?, ?> adapter, @NonNull @NotNull View view, int position) {
switch (position) {
case 0: //检测审核
startActivity(ApplicationReviewActivity.class);
break;
case 1: //溯源检测
startActivity(TraceabilityTestingActivity.class);
break;
case 2: //溯源报告
break;
case 3: //检测机构
break;
case 4: //溯源查询
break;
}
}
});
mInstitutionAdapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_testing_organization, mInstitutionList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, String item) {
}
};
rvInstitution.setLayoutManager(new LinearLayoutManager(getContext()));
rvInstitution.setAdapter(mInstitutionAdapter);
}
}

View File

@ -0,0 +1,63 @@
package com.yinhetairui.digitalagriculture.ui.traceabilityManage;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.hjq.bar.TitleBar;
import com.scwang.smart.refresh.layout.SmartRefreshLayout;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppActivity;
import com.yinhetairui.digitalagriculture.widget.StatusLayout;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
* 创建日期2025/4/21
* 作者November
* 描述溯源检测
*/
public final class TraceabilityTestingActivity extends AppActivity {
private TitleBar title;
private StatusLayout statusLayout;
private SmartRefreshLayout refreshLayout;
private RecyclerView rvList;
private List<String> mList;
private BaseQuickAdapter mAdapter;
@Override
protected int getLayoutId() {
return R.layout.activity_traceability_testing;
}
@Override
protected void initView() {
title = (TitleBar) findViewById(R.id.title);
statusLayout = (StatusLayout) findViewById(R.id.statusLayout);
refreshLayout = (SmartRefreshLayout) findViewById(R.id.refreshLayout);
rvList = (RecyclerView) findViewById(R.id.rv_list);
}
@Override
protected void initData() {
mList = new ArrayList<>();
mList.add("");
mList.add("");
mList.add("");
mAdapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_traceability_testing, mList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, String item) {
}
};
rvList.setLayoutManager(new LinearLayoutManager(getContext()));
rvList.setAdapter(mAdapter);
}
}

View File

@ -1,15 +1,50 @@
package com.yinhetairui.digitalagriculture.ui.workbenches;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.hjq.bar.TitleBar;
import com.yinhetairui.digitalagriculture.R;
import com.yinhetairui.digitalagriculture.app.AppFragment;
import com.yinhetairui.digitalagriculture.app.TitleBarFragment;
import com.yinhetairui.digitalagriculture.ui.dto.CommonFuncDto;
import com.yinhetairui.digitalagriculture.uitools.activity.CopyActivity;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.List;
/**
* 创建日期2025/4/18
* 作者November
* 描述工作台
*/
public final class WorkbenchesFragment extends AppFragment<CopyActivity> {
public final class WorkbenchesFragment extends TitleBarFragment<CopyActivity> {
private TitleBar title;
private RecyclerView rvLandResource;
private RecyclerView rvInputs;
private RecyclerView rvBusinessEntity;
private RecyclerView rvFullTraceability;
private RecyclerView rvIndustryMonitoring;
/** 土地资源管理 */
private List<CommonFuncDto> mLandResourceList;
private BaseQuickAdapter mLandResourceAdapter;
/** 投入品管理 */
private List<CommonFuncDto> mInputsList;
private BaseQuickAdapter mInputsAdapter;
/** 生产经营主体管理 */
private List<CommonFuncDto> mBusinessEntityList;
private BaseQuickAdapter mBusinessEntityAdapter;
/** 农场品全程追溯管理 */
private List<CommonFuncDto> mFullTraceabilityList;
private BaseQuickAdapter mFullTraceabilityAdapter;
/** 农业昌平检测 */
private List<CommonFuncDto> mIndustryMonitoringList;
private BaseQuickAdapter mIndustryMonitoringAdapter;
public static WorkbenchesFragment newInstance() {
return new WorkbenchesFragment();
@ -21,12 +56,120 @@ public final class WorkbenchesFragment extends AppFragment<CopyActivity> {
}
@Override
protected void initView() {
public boolean isStatusBarEnabled() {
return !super.isStatusBarEnabled();
}
@Override
protected void initView() {
title = (TitleBar) findViewById(R.id.title);
rvLandResource = (RecyclerView) findViewById(R.id.rv_land_resource);
rvInputs = (RecyclerView) findViewById(R.id.rv_inputs);
rvBusinessEntity = (RecyclerView) findViewById(R.id.rv_business_entity);
rvFullTraceability = (RecyclerView) findViewById(R.id.rv_full_traceability);
rvIndustryMonitoring = (RecyclerView) findViewById(R.id.rv_industry_monitoring);
}
@Override
protected void initData() {
mLandResourceList = new ArrayList<>();
mLandResourceList.add(new CommonFuncDto(R.drawable.logo_big_ic, "土地资源信息"));
mLandResourceList.add(new CommonFuncDto(R.drawable.logo_big_ic, "产权信息"));
mLandResourceList.add(new CommonFuncDto(R.drawable.logo_big_ic, "土地流转"));
mLandResourceList.add(new CommonFuncDto(R.drawable.logo_big_ic, "土地检查"));
mLandResourceList.add(new CommonFuncDto(R.drawable.logo_big_ic, "土地违规"));
mInputsList = new ArrayList<>();
mInputsList.add(new CommonFuncDto(R.drawable.logo_big_ic, "基础信息管理"));
mInputsList.add(new CommonFuncDto(R.drawable.logo_big_ic, "生产经销商抽检"));
mInputsList.add(new CommonFuncDto(R.drawable.logo_big_ic, "使用监管"));
mInputsList.add(new CommonFuncDto(R.drawable.logo_big_ic, "农机租赁"));
mInputsList.add(new CommonFuncDto(R.drawable.logo_big_ic, "排行榜"));
mInputsList.add(new CommonFuncDto(R.drawable.logo_big_ic, "知识库"));
mBusinessEntityList = new ArrayList<>();
mBusinessEntityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "农企合作社"));
mBusinessEntityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "农资企业"));
mBusinessEntityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "生产加工企业"));
mBusinessEntityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "种源企业"));
mBusinessEntityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "农户管理"));
mBusinessEntityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "涉农金融监管"));
mFullTraceabilityList = new ArrayList<>();
mFullTraceabilityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "运营管理监督"));
mFullTraceabilityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "溯源管理"));
mFullTraceabilityList.add(new CommonFuncDto(R.drawable.logo_big_ic, "溯源查询"));
mIndustryMonitoringList = new ArrayList<>();
mIndustryMonitoringList.add(new CommonFuncDto(R.drawable.logo_big_ic, "田间监测"));
mIndustryMonitoringList.add(new CommonFuncDto(R.drawable.logo_big_ic, "水质监测"));
mIndustryMonitoringList.add(new CommonFuncDto(R.drawable.logo_big_ic, "病虫害检测"));
mIndustryMonitoringList.add(new CommonFuncDto(R.drawable.logo_big_ic, "环境监测"));
mIndustryMonitoringList.add(new CommonFuncDto(R.drawable.logo_big_ic, "产量预测"));
mLandResourceAdapter = new BaseQuickAdapter<CommonFuncDto, BaseViewHolder>(R.layout.item_common_function, mLandResourceList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, CommonFuncDto item) {
holder.setImageResource(R.id.iv_icon, item.getResId());
holder.setText(R.id.tv_name, item.getName());
}
};
GridLayoutManager layoutManager1 = new GridLayoutManager(getActivity(), 3);
rvLandResource.setLayoutManager(layoutManager1);
rvLandResource.setNestedScrollingEnabled(false);
rvLandResource.setAdapter(mLandResourceAdapter);
mLandResourceAdapter.setList(mLandResourceList);
mInputsAdapter = new BaseQuickAdapter<CommonFuncDto, BaseViewHolder>(R.layout.item_common_function, mInputsList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, CommonFuncDto item) {
holder.setImageResource(R.id.iv_icon, item.getResId());
holder.setText(R.id.tv_name, item.getName());
}
};
GridLayoutManager layoutManager2 = new GridLayoutManager(getActivity(), 3);
rvInputs.setLayoutManager(layoutManager2);
rvInputs.setNestedScrollingEnabled(false);
rvInputs.setAdapter(mInputsAdapter);
mInputsAdapter.setList(mInputsList);
mBusinessEntityAdapter = new BaseQuickAdapter<CommonFuncDto, BaseViewHolder>(R.layout.item_common_function, mBusinessEntityList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, CommonFuncDto item) {
holder.setImageResource(R.id.iv_icon, item.getResId());
holder.setText(R.id.tv_name, item.getName());
}
};
GridLayoutManager layoutManager3 = new GridLayoutManager(getActivity(), 3);
rvBusinessEntity.setLayoutManager(layoutManager3);
rvBusinessEntity.setNestedScrollingEnabled(false);
rvBusinessEntity.setAdapter(mBusinessEntityAdapter);
mBusinessEntityAdapter.setList(mBusinessEntityList);
mFullTraceabilityAdapter = new BaseQuickAdapter<CommonFuncDto, BaseViewHolder>(R.layout.item_common_function, mFullTraceabilityList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, CommonFuncDto item) {
holder.setImageResource(R.id.iv_icon, item.getResId());
holder.setText(R.id.tv_name, item.getName());
}
};
GridLayoutManager layoutManager4 = new GridLayoutManager(getActivity(), 3);
rvFullTraceability.setLayoutManager(layoutManager4);
rvFullTraceability.setNestedScrollingEnabled(false);
rvFullTraceability.setAdapter(mFullTraceabilityAdapter);
mFullTraceabilityAdapter.setList(mFullTraceabilityList);
mIndustryMonitoringAdapter = new BaseQuickAdapter<CommonFuncDto, BaseViewHolder>(R.layout.item_common_function, mIndustryMonitoringList) {
@Override
protected void convert(@NotNull BaseViewHolder holder, CommonFuncDto item) {
holder.setImageResource(R.id.iv_icon, item.getResId());
holder.setText(R.id.tv_name, item.getName());
}
};
GridLayoutManager layoutManager5 = new GridLayoutManager(getActivity(), 3);
rvIndustryMonitoring.setLayoutManager(layoutManager5);
rvIndustryMonitoring.setNestedScrollingEnabled(false);
rvIndustryMonitoring.setAdapter(mIndustryMonitoringAdapter);
mIndustryMonitoringAdapter.setList(mIndustryMonitoringList);
}
}

View File

@ -0,0 +1,341 @@
package com.yinhetairui.digitalagriculture.widget;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.util.AttributeSet;
import androidx.annotation.ColorInt;
import androidx.annotation.ColorRes;
import androidx.annotation.DrawableRes;
import androidx.appcompat.widget.AppCompatImageView;
import com.yinhetairui.digitalagriculture.R;
/**
* TODO 圆形图片
*
* @Author ZhaoQY
* @Date 2020/3/23 0023
*/
public class CircleImageView extends AppCompatImageView {
private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP;
private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888;
private static final int COLORDRAWABLE_DIMENSION = 2;
private static final int DEFAULT_BORDER_WIDTH = 0;
private static final int DEFAULT_BORDER_COLOR = Color.BLACK;
private static final int DEFAULT_FILL_COLOR = Color.TRANSPARENT;
private static final boolean DEFAULT_BORDER_OVERLAY = false;
private final RectF mDrawableRect = new RectF();
private final RectF mBorderRect = new RectF();
private final Matrix mShaderMatrix = new Matrix();
private final Paint mBitmapPaint = new Paint();
private final Paint mBorderPaint = new Paint();
private final Paint mFillPaint = new Paint();
private int mBorderColor = DEFAULT_BORDER_COLOR;
private int mBorderWidth = DEFAULT_BORDER_WIDTH;
private int mFillColor = DEFAULT_FILL_COLOR;
private Bitmap mBitmap;
private BitmapShader mBitmapShader;
private int mBitmapWidth;
private int mBitmapHeight;
private float mDrawableRadius;
private float mBorderRadius;
private ColorFilter mColorFilter;
private boolean mReady;
private boolean mSetupPending;
private boolean mBorderOverlay;
public CircleImageView(Context context) {
super(context);
init();
}
public CircleImageView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public CircleImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CircleImageView, defStyle, 0);
mBorderWidth = a.getDimensionPixelSize(R.styleable.CircleImageView_civ_border_width, DEFAULT_BORDER_WIDTH);
mBorderColor = a.getColor(R.styleable.CircleImageView_civ_border_color, DEFAULT_BORDER_COLOR);
mBorderOverlay = a.getBoolean(R.styleable.CircleImageView_civ_border_overlay, DEFAULT_BORDER_OVERLAY);
mFillColor = a.getColor(R.styleable.CircleImageView_civ_fill_color, DEFAULT_FILL_COLOR);
a.recycle();
init();
}
private void init() {
super.setScaleType(SCALE_TYPE);
mReady = true;
if (mSetupPending) {
setup();
mSetupPending = false;
}
}
@Override
public ScaleType getScaleType() {
return SCALE_TYPE;
}
@Override
public void setScaleType(ScaleType scaleType) {
if (scaleType != SCALE_TYPE) {
// throw new IllegalArgumentException(String.format("ScaleType %s not supported.", scaleType));
}
}
@Override
public void setAdjustViewBounds(boolean adjustViewBounds) {
if (adjustViewBounds) {
// throw new IllegalArgumentException("adjustViewBounds not supported.");
}
}
@Override
protected void onDraw(Canvas canvas) {
if (mBitmap == null) {
return;
}
if (mFillColor != Color.TRANSPARENT) {
canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mDrawableRadius, mFillPaint);
}
canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mDrawableRadius, mBitmapPaint);
if (mBorderWidth != 0) {
canvas.drawCircle(getWidth() / 2.0f, getHeight() / 2.0f, mBorderRadius, mBorderPaint);
}
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
setup();
}
public int getBorderColor() {
return mBorderColor;
}
public void setBorderColor(@ColorInt int borderColor) {
if (borderColor == mBorderColor) {
return;
}
mBorderColor = borderColor;
mBorderPaint.setColor(mBorderColor);
invalidate();
}
public void setBorderColorResource(@ColorRes int borderColorRes) {
setBorderColor(getContext().getResources().getColor(borderColorRes));
}
public int getFillColor() {
return mFillColor;
}
public void setFillColor(@ColorInt int fillColor) {
if (fillColor == mFillColor) {
return;
}
mFillColor = fillColor;
mFillPaint.setColor(fillColor);
invalidate();
}
public void setFillColorResource(@ColorRes int fillColorRes) {
setFillColor(getContext().getResources().getColor(fillColorRes));
}
public int getBorderWidth() {
return mBorderWidth;
}
public void setBorderWidth(int borderWidth) {
if (borderWidth == mBorderWidth) {
return;
}
mBorderWidth = borderWidth;
setup();
}
public boolean isBorderOverlay() {
return mBorderOverlay;
}
public void setBorderOverlay(boolean borderOverlay) {
if (borderOverlay == mBorderOverlay) {
return;
}
mBorderOverlay = borderOverlay;
setup();
}
@Override
public void setImageBitmap(Bitmap bm) {
super.setImageBitmap(bm);
mBitmap = bm;
setup();
}
@Override
public void setImageDrawable(Drawable drawable) {
super.setImageDrawable(drawable);
mBitmap = getBitmapFromDrawable(drawable);
setup();
}
@Override
public void setImageResource(@DrawableRes int resId) {
super.setImageResource(resId);
mBitmap = getBitmapFromDrawable(getDrawable());
setup();
}
@Override
public void setImageURI(Uri uri) {
super.setImageURI(uri);
mBitmap = uri != null ? getBitmapFromDrawable(getDrawable()) : null;
setup();
}
@Override
public void setColorFilter(ColorFilter cf) {
if (cf == mColorFilter) {
return;
}
mColorFilter = cf;
mBitmapPaint.setColorFilter(mColorFilter);
invalidate();
}
private Bitmap getBitmapFromDrawable(Drawable drawable) {
if (drawable == null) {
return null;
}
if (drawable instanceof BitmapDrawable) {
return ((BitmapDrawable) drawable).getBitmap();
}
try {
Bitmap bitmap;
if (drawable instanceof ColorDrawable) {
bitmap = Bitmap.createBitmap(COLORDRAWABLE_DIMENSION, COLORDRAWABLE_DIMENSION, BITMAP_CONFIG);
} else {
bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), BITMAP_CONFIG);
}
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
drawable.draw(canvas);
return bitmap;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
private void setup() {
if (!mReady) {
mSetupPending = true;
return;
}
if (getWidth() == 0 && getHeight() == 0) {
return;
}
if (mBitmap == null) {
invalidate();
return;
}
mBitmapShader = new BitmapShader(mBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
mBitmapPaint.setAntiAlias(true);
mBitmapPaint.setShader(mBitmapShader);
mBorderPaint.setStyle(Paint.Style.STROKE);
mBorderPaint.setAntiAlias(true);
mBorderPaint.setColor(mBorderColor);
mBorderPaint.setStrokeWidth(mBorderWidth);
mFillPaint.setStyle(Paint.Style.FILL);
mFillPaint.setAntiAlias(true);
mFillPaint.setColor(mFillColor);
mBitmapHeight = mBitmap.getHeight();
mBitmapWidth = mBitmap.getWidth();
mBorderRect.set(0, 0, getWidth(), getHeight());
mBorderRadius = Math.min((mBorderRect.height() - mBorderWidth) / 2.0f, (mBorderRect.width() - mBorderWidth) / 2.0f);
mDrawableRect.set(mBorderRect);
if (!mBorderOverlay) {
mDrawableRect.inset(mBorderWidth, mBorderWidth);
}
mDrawableRadius = Math.min(mDrawableRect.height() / 2.0f, mDrawableRect.width() / 2.0f);
updateShaderMatrix();
invalidate();
}
private void updateShaderMatrix() {
float scale;
float dx = 0;
float dy = 0;
mShaderMatrix.set(null);
if (mBitmapWidth * mDrawableRect.height() > mDrawableRect.width() * mBitmapHeight) {
scale = mDrawableRect.height() / (float) mBitmapHeight;
dx = (mDrawableRect.width() - mBitmapWidth * scale) * 0.5f;
} else {
scale = mDrawableRect.width() / (float) mBitmapWidth;
dy = (mDrawableRect.height() - mBitmapHeight * scale) * 0.5f;
}
mShaderMatrix.setScale(scale, scale);
mShaderMatrix.postTranslate((int) (dx + 0.5f) + mDrawableRect.left, (int) (dy + 0.5f) + mDrawableRect.top);
mBitmapShader.setLocalMatrix(mShaderMatrix);
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -0,0 +1,169 @@
<?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"
tools:context=".ui.traceabilityManage.ApplicationReviewActivity">
<com.hjq.bar.TitleBar
android:id="@+id/title"
style="@style/MyTitleBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="检测申请审核" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dp_10">
<com.hjq.shape.layout.ShapeLinearLayout
android:id="@+id/ll_town"
android:layout_width="0px"
android:layout_height="@dimen/dp_30"
android:layout_marginEnd="@dimen/dp_2"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal"
app:shape_radius="@dimen/dp_3"
app:shape_solidColor="@color/white"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_town"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_6"
android:layout_weight="1"
android:text="乡镇"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:src="@drawable/logo_big_ic" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:id="@+id/ll_village"
android:layout_width="0px"
android:layout_height="@dimen/dp_30"
android:layout_marginHorizontal="@dimen/dp_2"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal"
app:shape_radius="@dimen/dp_3"
app:shape_solidColor="@color/white"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_village"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_6"
android:layout_weight="1"
android:text="村"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:src="@drawable/logo_big_ic" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:id="@+id/ll_status"
android:layout_width="0px"
android:layout_height="@dimen/dp_30"
android:layout_marginStart="@dimen/dp_2"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal"
app:shape_radius="@dimen/dp_3"
app:shape_solidColor="@color/white"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_status"
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_6"
android:layout_weight="1"
android:text="状态"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:src="@drawable/logo_big_ic" />
</com.hjq.shape.layout.ShapeLinearLayout>
</LinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_30"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dp_10"
app:shape_radius="@dimen/dp_99"
app:shape_solidColor="@color/white"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1">
<EditText
android:id="@+id/et_search"
android:layout_width="0px"
android:layout_height="@dimen/dp_24"
android:layout_weight="1"
android:background="@null"
android:hint="请输入关键词"
android:maxLength="30"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_search"
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_marginStart="@dimen/dp_10"
android:src="@drawable/logo_big_ic" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.yinhetairui.digitalagriculture.widget.StatusLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_5">
<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_institution"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
</com.yinhetairui.digitalagriculture.widget.StatusLayout>
</LinearLayout>

View File

@ -0,0 +1,323 @@
<?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"
tools:context=".ui.traceabilityManage.ReviewInfoActivity">
<com.hjq.bar.TitleBar
android:id="@+id/title"
style="@style/MyTitleBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="检测申请审核" />
<com.yinhetairui.digitalagriculture.widget.StatusLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="产品名称:&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="金丝凤梨"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="预约时间:&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="2024-01-20"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="预约检测站:"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="耿马监测站"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="产地:&#12288;&#12288;&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="耿马镇新村"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生产人:&#12288;&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="赵雨"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="批次:&#12288;&#12288;&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="10月份第一批"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="组织名称:&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="好丰收农场"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="法人:&#12288;&#12288;&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="潘夏彤"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身份证号码:"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:text="510222199001012345"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="营业执照:&#12288;"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_160"
android:layout_height="@dimen/dp_100"
android:layout_marginStart="@dimen/dp_20"
android:src="@drawable/logo_big_ic" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_20"
android:layout_marginTop="@dimen/dp_14"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身份证照片:"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_20"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_160"
android:layout_height="@dimen/dp_100"
android:src="@drawable/logo_big_ic" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_160"
android:layout_height="@dimen/dp_100"
android:layout_marginTop="@dimen/dp_14"
android:src="@drawable/logo_big_ic" />
</LinearLayout>
</LinearLayout>
<com.hjq.shape.view.ShapeButton
android:layout_width="match_parent"
android:layout_height="@dimen/dp_40"
android:layout_marginHorizontal="@dimen/dp_40"
android:layout_marginVertical="@dimen/dp_20"
android:gravity="center"
android:text="审核"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
android:textStyle="bold"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/theme_color" />
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</com.yinhetairui.digitalagriculture.widget.StatusLayout>
</LinearLayout>

View File

@ -0,0 +1,342 @@
<?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"
tools:context=".ui.traceabilityManage.TraceabilityManageActivity">
<com.hjq.bar.TitleBar
android:id="@+id/title"
style="@style/MyTitleBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="溯源管理" />
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="溯源概况"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:orientation="horizontal">
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="0px"
android:layout_height="@dimen/dp_70"
android:layout_marginEnd="@dimen/dp_4"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal"
app:shape_radius="@dimen/dp_4"
app:shape_solidColor="@color/common_button_pressed_color">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:src="@drawable/logo_big_ic" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="285"
android:textSize="@dimen/sp_24"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="家"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:text="追溯主题数"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="0px"
android:layout_height="@dimen/dp_70"
android:layout_marginStart="@dimen/dp_4"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal"
app:shape_radius="@dimen/dp_4"
app:shape_solidColor="@color/common_button_pressed_color">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:src="@drawable/logo_big_ic" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4579"
android:textSize="@dimen/sp_24"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="次"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:text="产品溯源次数"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:orientation="horizontal">
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="0px"
android:layout_height="@dimen/dp_70"
android:layout_marginEnd="@dimen/dp_4"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal"
app:shape_radius="@dimen/dp_4"
app:shape_solidColor="@color/common_button_pressed_color">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:src="@drawable/logo_big_ic" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="859"
android:textSize="@dimen/sp_24"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:text="发放溯源码"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="0px"
android:layout_height="@dimen/dp_70"
android:layout_marginStart="@dimen/dp_4"
android:layout_weight="1"
android:gravity="center_vertical"
android:orientation="horizontal"
app:shape_radius="@dimen/dp_4"
app:shape_solidColor="@color/common_button_pressed_color">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:src="@drawable/logo_big_ic" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="754"
android:textSize="@dimen/sp_24"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:text="有效期内溯源码"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>
</LinearLayout>
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="溯源管理"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_manage"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginVertical="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="检测机构"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="更多>"
android:textColor="@color/common_text_color6"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_institution"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</com.hjq.shape.layout.ShapeLinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>

View File

@ -0,0 +1,99 @@
<?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"
tools:context=".ui.traceabilityManage.TraceabilityTestingActivity">
<com.hjq.bar.TitleBar
android:id="@+id/title"
style="@style/MyTitleBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:title="溯源检测" />
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_30"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dp_4"
app:shape_radius="@dimen/dp_8"
app:shape_solidColor="@color/white"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1">
<com.hjq.widget.view.DrawableTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableEnd="@drawable/logo_big_ic"
android:text="种植基地"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12"
app:drawableHeight="@dimen/dp_14"
app:drawableWidth="@dimen/dp_14" />
<com.hjq.widget.view.DrawableTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_weight="1"
android:drawableEnd="@drawable/logo_big_ic"
android:text="地块"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12"
app:drawableHeight="@dimen/dp_14"
app:drawableWidth="@dimen/dp_14" />
<com.hjq.widget.view.DrawableTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_weight="1"
android:drawableEnd="@drawable/logo_big_ic"
android:text="乡镇"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12"
app:drawableHeight="@dimen/dp_14"
app:drawableWidth="@dimen/dp_14" />
<com.hjq.widget.view.DrawableTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_weight="1"
android:drawableEnd="@drawable/logo_big_ic"
android:text="村"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12"
app:drawableHeight="@dimen/dp_14"
app:drawableWidth="@dimen/dp_14" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.yinhetairui.digitalagriculture.widget.StatusLayout
android:id="@+id/statusLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_5">
<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
</com.yinhetairui.digitalagriculture.widget.StatusLayout>
</LinearLayout>

View File

@ -8,9 +8,147 @@
tools:context=".ui.home.HomeFragment">
<com.hjq.bar.TitleBar
android:id="@+id/title"
style="@style/MyTitleBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:leftIcon="@null"
app:title="政府监管平台" />
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:gravity="center"
android:orientation="horizontal"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<LinearLayout
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<com.yinhetairui.digitalagriculture.widget.CircleImageView
android:id="@+id/iv_avatar"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:src="@drawable/logo_big_ic" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:text="张三"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:text="农业农村局"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_16" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_department"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_8"
android:text="农业综合执法大队"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_16" />
</LinearLayout>
<RelativeLayout
android:id="@+id/rl_backlog"
android:layout_width="@dimen/dp_60"
android:layout_height="wrap_content">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_msg"
android:layout_width="@dimen/dp_50"
android:layout_height="@dimen/dp_50"
android:layout_centerHorizontal="true"
android:src="@drawable/logo_big_ic" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/iv_msg"
android:layout_centerHorizontal="true"
android:text="待办事项"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<com.flyco.tablayout.widget.MsgView
android:id="@+id/mv_backlog"
android:layout_width="@dimen/dp_14"
android:layout_height="@dimen/dp_14"
android:layout_alignParentEnd="true"
android:gravity="center"
android:text="7"
android:textColor="@color/white"
android:textSize="@dimen/sp_12"
app:mv_backgroundColor="@color/common_cancel_text_color"
app:mv_isRadiusHalfHeight="true" />
</RelativeLayout>
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="功能"
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_function"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10" />
</com.hjq.shape.layout.ShapeLinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>

View File

@ -4,25 +4,211 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:orientation="vertical"
tools:context="com.yinhetairui.digitalagriculture.ui.mine.MineFragment">
tools:context=".ui.mine.MineFragment">
<com.hjq.bar.TitleBar
android:id="@+id/title"
style="@style/MyTitleBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:leftIcon="@null"
app:title="标题" />
app:title="个人中心" />
<com.hjq.shape.view.ShapeButton
android:id="@+id/sb_dialog"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/dp_44"
android:text="弹窗"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
android:gravity="center"
android:layout_margin="@dimen/dp_20"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/black"/>
android:layout_height="wrap_content"
android:background="#193B60"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dp_20"
android:paddingVertical="@dimen/dp_14">
<com.yinhetairui.digitalagriculture.widget.CircleImageView
android:id="@+id/iv_avatar"
android:layout_width="@dimen/dp_80"
android:layout_height="@dimen/dp_80"
android:src="@drawable/logo_big_ic" />
<LinearLayout
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_14"
android:layout_weight="1"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="周晰雨"
android:textColor="@color/white"
android:textSize="@dimen/sp_20"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_department"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="农业综合行政执法大队"
android:textColor="@color/white"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_identity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="执法队一组 执法人员"
android:textColor="@color/white"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_backlog"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_marginHorizontal="@dimen/dp_14"
android:layout_marginVertical="@dimen/dp_6"
android:gravity="center_vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginStart="@dimen/dp_16"
android:src="@drawable/logo_big_ic" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_16"
android:layout_weight="1"
android:text="待办事项"
android:textColor="@color/common_text_color6"
android:textSize="@dimen/sp_16" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_8"
android:src="@drawable/logo_big_ic" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginHorizontal="@dimen/dp_16"
android:background="@color/common_line_color" />
<LinearLayout
android:id="@+id/ll_update_pwd"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_marginHorizontal="@dimen/dp_14"
android:layout_marginVertical="@dimen/dp_6"
android:gravity="center_vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginStart="@dimen/dp_16"
android:src="@drawable/logo_big_ic" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_16"
android:layout_weight="1"
android:text="密码修改"
android:textColor="@color/common_text_color6"
android:textSize="@dimen/sp_16" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_8"
android:src="@drawable/logo_big_ic" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginHorizontal="@dimen/dp_16"
android:background="@color/common_line_color" />
<LinearLayout
android:id="@+id/ll_setting"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_marginHorizontal="@dimen/dp_14"
android:layout_marginVertical="@dimen/dp_6"
android:gravity="center_vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginStart="@dimen/dp_16"
android:src="@drawable/logo_big_ic" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_16"
android:layout_weight="1"
android:text="设置"
android:textColor="@color/common_text_color6"
android:textSize="@dimen/sp_16" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_8"
android:src="@drawable/logo_big_ic" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginHorizontal="@dimen/dp_16"
android:background="@color/common_line_color" />
<LinearLayout
android:id="@+id/ll_quit"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_50"
android:layout_marginHorizontal="@dimen/dp_14"
android:layout_marginVertical="@dimen/dp_6"
android:gravity="center_vertical">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:layout_marginStart="@dimen/dp_16"
android:src="@drawable/logo_big_ic" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_16"
android:layout_weight="1"
android:text="安全退出"
android:textColor="@color/common_text_color6"
android:textSize="@dimen/sp_16" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_20"
android:layout_height="@dimen/dp_20"
android:layout_marginEnd="@dimen/dp_8"
android:src="@drawable/logo_big_ic" />
</LinearLayout>
</LinearLayout>

View File

@ -8,10 +8,184 @@
tools:context=".ui.workbenches.WorkbenchesFragment">
<com.hjq.bar.TitleBar
android:id="@+id/title"
style="@style/MyTitleBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:leftIcon="@null"
app:title="工作台" />
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="土地资源管理 "
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_land_resource"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="投入品管理 "
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_inputs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="生产经营主体管理 "
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_business_entity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="农场品全程追溯管理 "
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_full_traceability"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6" />
</com.hjq.shape.layout.ShapeLinearLayout>
<com.hjq.shape.layout.ShapeLinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginVertical="@dimen/dp_8"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_solidColor="@color/white">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="农业产业检测 "
android:textColor="@color/black"
android:textSize="@dimen/sp_14"
android:textStyle="bold" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp_1"
android:layout_marginTop="@dimen/dp_10"
android:background="@color/common_line_color" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_industry_monitoring"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6" />
</com.hjq.shape.layout.ShapeLinearLayout>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</LinearLayout>

View File

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="utf-8"?>
<com.hjq.shape.layout.ShapeLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginVertical="@dimen/dp_4"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_3"
app:shape_solidColor="@color/white"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_100"
android:layout_height="wrap_content"
android:src="@drawable/logo_big_ic" />
<LinearLayout
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_10"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="产品名称:金丝凤梨"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_4"
android:text="待审核"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:text="预约时间2024-01-20"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6"
android:text="预约检测站:安心农残检测公司"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6"
android:text="批次9月份第三批次"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>

View File

@ -0,0 +1,43 @@
<?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"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="@dimen/dp_10"
android:orientation="vertical"
android:paddingVertical="@dimen/dp_5">
<ImageView
android:id="@+id/iv_icon"
android:layout_width="@dimen/dp_40"
android:layout_height="@dimen/dp_40"
android:layout_centerHorizontal="true"
android:src="@color/black" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/iv_icon"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_5"
android:text="名称名称"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
<com.flyco.tablayout.widget.MsgView xmlns:mv="http://schemas.android.com/apk/res-auto"
android:id="@+id/mv_msg_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="-15dp"
android:layout_toEndOf="@+id/iv_icon"
android:gravity="center"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
android:visibility="gone"
mv:mv_backgroundColor="@color/red"
mv:mv_isRadiusHalfHeight="true"
mv:mv_strokeColor="@color/white"
mv:mv_strokeWidth="@dimen/dp_1" />
</RelativeLayout>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<com.hjq.shape.layout.ShapeLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal"
android:paddingHorizontal="@dimen/dp_6"
android:paddingVertical="@dimen/dp_10"
app:shape_radius="@dimen/dp_10"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1"
app:shape_type="rectangle">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="@dimen/dp_100"
android:layout_height="@dimen/dp_80"
android:layout_gravity="center_vertical"
android:background="@color/common_line_color" />
<LinearLayout
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_6"
android:layout_weight="1"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="耿马县农科所"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_6"
android:text="耿马县耿马镇耿马村154号"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:text="联系人:周乐心"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:text="联系电话191113212388"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_14" />
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>

View File

@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<com.hjq.shape.layout.ShapeLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_10"
android:layout_marginVertical="@dimen/dp_4"
android:orientation="vertical"
android:padding="@dimen/dp_10"
app:shape_radius="@dimen/dp_5"
app:shape_solidColor="@color/white"
app:shape_strokeColor="@color/common_line_color"
app:shape_strokeSize="@dimen/dp_1">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_5"
android:layout_weight="1"
android:text="产品名称:金丝凤梨"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_5"
android:layout_weight="1"
android:text="批次信息:10月份第一批"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_5"
android:layout_weight="1"
android:text="产品名称:耿马县贺派乡"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_5"
android:layout_weight="1"
android:text="生产人信息:李天泽"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_10"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="0px"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_5"
android:layout_weight="1"
android:text="预约时间:2022-10-10"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_5"
android:text="已检测"
android:textColor="@color/common_text_color"
android:textSize="@dimen/sp_12" />
</LinearLayout>
</com.hjq.shape.layout.ShapeLinearLayout>

View File

@ -12,18 +12,11 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_login_logo"
android:layout_width="@dimen/dp_80"
android:layout_height="@dimen/dp_80"
android:layout_width="@dimen/dp_168"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_60"
app:srcCompat="@drawable/logo_big_ic" />
<ImageView
android:layout_width="@dimen/dp_168"
android:layout_height="@dimen/dp_34"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/dp_16"
android:src="@drawable/icon_app_name" />
app:srcCompat="@drawable/icon_app_name" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="CircleImageView">
<attr name="civ_border_width" format="dimension" />
<attr name="civ_border_color" format="color" />
<attr name="civ_border_overlay" format="boolean" />
<attr name="civ_fill_color" format="color" />
</declare-styleable>
</resources>

View File

@ -7,6 +7,7 @@
<color name="common_window_background_color">#F4F4F4</color>
<color name="common_text_color">#000000</color>
<color name="common_text_color3">#333333</color>
<color name="common_text_color6">#666666</color>
<color name="common_text_hint_color">#999999</color>
<color name="theme_color">#3685FE</color>