新增水质监测&虫害监测
@ -124,4 +124,9 @@ dependencies {
|
||||
implementation project(path: ':DialogXMaterialYou')
|
||||
|
||||
implementation 'com.github.zhpanvip:bannerviewpager:3.5.12'
|
||||
|
||||
implementation 'com.github.AAChartModel:AAChartCore:-SNAPSHOT'
|
||||
|
||||
implementation 'com.github.li-xiaojun:XPopup:v2.2.23'
|
||||
|
||||
}
|
||||
|
@ -78,6 +78,23 @@
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.smart_farm.WaterMonitoringActivity"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<activity
|
||||
android:name=".ui.smart_farm.PestsMonitoringActivity"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".ui.photoview.PhotoViewActivty"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
@ -1,7 +1,7 @@
|
||||
[
|
||||
{
|
||||
"name": "A区田间监测设备组",
|
||||
"stations": [
|
||||
"groups": [
|
||||
{
|
||||
"name": "生长监控",
|
||||
"type": "monitor",
|
||||
@ -28,40 +28,40 @@
|
||||
"status": 0
|
||||
},
|
||||
{
|
||||
"name": "监控0012",
|
||||
"name": "监控012",
|
||||
"status": 0
|
||||
},
|
||||
{
|
||||
"name": "监控0013",
|
||||
"name": "监控013",
|
||||
"status": 0
|
||||
}
|
||||
],
|
||||
"exceptions": [
|
||||
{
|
||||
"name": "监控006",
|
||||
"status": 0
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"name": "监控007",
|
||||
"status": 0
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"name": "监控008",
|
||||
"status": 0
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"name": "监控0011",
|
||||
"status": 0
|
||||
"status": 1
|
||||
}
|
||||
],
|
||||
"offline": [
|
||||
{
|
||||
"name": "监控009",
|
||||
"status": 0
|
||||
"status": 2
|
||||
},
|
||||
{
|
||||
"name": "监控010",
|
||||
"status": 0
|
||||
"status": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -69,21 +69,40 @@
|
||||
{
|
||||
"name": "生长监测站",
|
||||
"type": "station",
|
||||
"sensors": [
|
||||
"stations": [
|
||||
{
|
||||
"type": "temperature",
|
||||
"value": "15",
|
||||
"status": 0
|
||||
},
|
||||
{
|
||||
"type": "humidity",
|
||||
"value": "83",
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"type": "stalk_height",
|
||||
"value": "3.5",
|
||||
"status": 0
|
||||
"name": "监测站-001",
|
||||
"status": 0,
|
||||
"crops_name": "甘蔗",
|
||||
"grow_step": "成熟期",
|
||||
"plant_type": "果木型",
|
||||
"petiole_type": "阔叶型",
|
||||
"growth_pattern": "良好",
|
||||
"growth_pattern_status": 0,
|
||||
"organic_matter": "10",
|
||||
"organic_matter_type": 0,
|
||||
"sensors": [
|
||||
{
|
||||
"type": "temperature",
|
||||
"value": "15",
|
||||
"status": 0
|
||||
},
|
||||
{
|
||||
"type": "humidity",
|
||||
"value": "83",
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"type": "stalk_height",
|
||||
"value": "3.5",
|
||||
"status": 0
|
||||
},
|
||||
{
|
||||
"type": "sugar",
|
||||
"value": "15",
|
||||
"status": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -91,9 +110,10 @@
|
||||
},
|
||||
{
|
||||
"name": "B区田间监测设备组",
|
||||
"stations": [
|
||||
"groups": [
|
||||
{
|
||||
"name": "生长监测站1",
|
||||
"name": "生长监控",
|
||||
"type": "monitor",
|
||||
"monitors": {
|
||||
"normal": [
|
||||
{
|
||||
@ -120,25 +140,25 @@
|
||||
"exceptions": [
|
||||
{
|
||||
"name": "监控006",
|
||||
"status": 0
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"name": "监控007",
|
||||
"status": 0
|
||||
"status": 1
|
||||
},
|
||||
{
|
||||
"name": "监控008",
|
||||
"status": 0
|
||||
"status": 1
|
||||
}
|
||||
],
|
||||
"offline": [
|
||||
{
|
||||
"name": "监控009",
|
||||
"status": 0
|
||||
"status": 2
|
||||
},
|
||||
{
|
||||
"name": "监控010",
|
||||
"status": 0
|
||||
"status": 2
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -0,0 +1,106 @@
|
||||
package com.tairui.industrial_operation.ui.photoview;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.lxj.xpopup.photoview.PhotoView;
|
||||
import com.tairui.industrial_operation.base.BaseActivity;
|
||||
import com.tairui.industrial_operation.databinding.ActivityPhotoViewBinding;
|
||||
import com.tairui.industrial_operation.util.SingleClickListener;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
public class PhotoViewActivty extends BaseActivity<ActivityPhotoViewBinding> {
|
||||
|
||||
private List<String> imgs;
|
||||
private int index = -1;
|
||||
|
||||
@Override
|
||||
protected Class<ActivityPhotoViewBinding> getBindingClass() {
|
||||
return ActivityPhotoViewBinding.class;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void initStatusBar() {
|
||||
ImmersionBar.with(this).fitsSystemWindows(false).transparentStatusBar()
|
||||
.statusBarDarkFont(false).init();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onQueryArguments() {
|
||||
index = getIntent().getIntExtra("index", -1);
|
||||
imgs = getIntent().getStringArrayListExtra("imgs");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onFindView(Bundle savedInstanceState) {
|
||||
binding.viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
binding.page.setText((position + 1) + "/" + imgs.size());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
binding.viewPager.setIsCanScroll(true);
|
||||
binding.viewPager.setAdapter(new SamplePagerAdapter());
|
||||
if (index != -1) {
|
||||
binding.viewPager.setCurrentItem(index);
|
||||
binding.page.setText((index + 1) + "/" + imgs.size());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindListener() {
|
||||
binding.back.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
onBackPressed();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private class SamplePagerAdapter extends PagerAdapter {
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return imgs.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public View instantiateItem(ViewGroup container, int position) {
|
||||
PhotoView photoView = new PhotoView(container.getContext());
|
||||
String url = imgs.get(position);
|
||||
Glide.with(PhotoViewActivty.this).load(url).into(photoView);
|
||||
photoView.setOnClickListener(view -> finish());
|
||||
// Now just add PhotoView to ViewPager and return it
|
||||
container.addView(photoView, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
return photoView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyItem(ViewGroup container, int position, Object object) {
|
||||
container.removeView((View) object);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isViewFromObject(View view, Object object) {
|
||||
return view == object;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -16,6 +16,7 @@ import com.tairui.industrial_operation.base.BaseActivity;
|
||||
import com.tairui.industrial_operation.databinding.ActivityFieldMonitoringBinding;
|
||||
import com.tairui.industrial_operation.ui.smart_farm.entity.FileMonitoringEntity;
|
||||
import com.tairui.industrial_operation.util.ArrayUtil;
|
||||
import com.tairui.industrial_operation.util.DensityUtils;
|
||||
import com.tairui.industrial_operation.util.IntentUtil;
|
||||
import com.tairui.industrial_operation.util.JsonUtils;
|
||||
import com.tairui.industrial_operation.util.SingleClickListener;
|
||||
@ -29,11 +30,12 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitoringBinding> {
|
||||
|
||||
private List<FileMonitoringEntity> mData;
|
||||
private FileMonitoringEntity selectGroup;
|
||||
private FileMonitoringEntity.StationsEntity selectStation;
|
||||
private FileMonitoringEntity.StationsEntity.MonitorsEntity.MonitorItemEntity selectMonitor;
|
||||
private FileMonitoringEntity selectTeam;
|
||||
private FileMonitoringEntity.GroupsEntity selectGroup;
|
||||
private FileMonitoringEntity.GroupsEntity.MonitorsEntity.MonitorItemEntity selectMonitor;
|
||||
private FileMonitoringEntity.GroupsEntity.StationsEntity selectStation;
|
||||
|
||||
private StationAdapter stationAdapter;
|
||||
private GroupAdapter groupAdapter;
|
||||
|
||||
@Override
|
||||
protected Class<ActivityFieldMonitoringBinding> getBindingClass() {
|
||||
@ -50,21 +52,27 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
protected void onFindView(Bundle savedInstanceState) {
|
||||
binding.stationRecycler.setLayoutManager(new LinearLayoutManager(this, RecyclerView.HORIZONTAL, false));
|
||||
binding.stationRecycler.setHasFixedSize(true);
|
||||
stationAdapter = new StationAdapter();
|
||||
binding.stationRecycler.setAdapter(stationAdapter);
|
||||
groupAdapter = new GroupAdapter();
|
||||
binding.stationRecycler.setAdapter(groupAdapter);
|
||||
}
|
||||
|
||||
private void showGroupMenu() {
|
||||
private void showTeamMenu() {
|
||||
List<CharSequence> menus = new ArrayList<>();
|
||||
for (FileMonitoringEntity item : mData) {
|
||||
menus.add(item.getName());
|
||||
}
|
||||
PopMenu.show(binding.layoutGroup, menus)
|
||||
PopMenu.show(binding.layoutTeam, menus)
|
||||
.setBackgroundColorRes(R.color.white)
|
||||
.setOnMenuItemClickListener((dialog, text, index) -> {
|
||||
selectGroup = mData.get(index);
|
||||
selectStation = selectGroup.getStations().get(0);
|
||||
selectMonitor = selectStation.getMonitors().getNormal().get(0);
|
||||
selectTeam = mData.get(index);
|
||||
selectGroup = selectTeam.getGroups().get(0);
|
||||
if (selectGroup.getType().equals("monitor")) {
|
||||
selectMonitor = selectGroup.getMonitors().getNormal().get(0);
|
||||
selectStation = null;
|
||||
} else {
|
||||
selectStation = selectGroup.getStations().get(0);
|
||||
selectMonitor = null;
|
||||
}
|
||||
initView();
|
||||
return false;
|
||||
}).setItemDivider(new ItemDivider(15, 15, 1));
|
||||
@ -72,15 +80,30 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
|
||||
private void showMonitorMenu() {
|
||||
List<CharSequence> menus = new ArrayList<>();
|
||||
for (FileMonitoringEntity.StationsEntity.MonitorsEntity.MonitorItemEntity item : selectStation.getMonitors()
|
||||
for (FileMonitoringEntity.GroupsEntity.MonitorsEntity.MonitorItemEntity item : selectGroup.getMonitors()
|
||||
.getNormal()) {
|
||||
menus.add(item.getName());
|
||||
}
|
||||
PopMenu.show(binding.layoutGroup, menus)
|
||||
PopMenu.show(binding.layoutMonitor, menus)
|
||||
.setBackgroundColorRes(R.color.white)
|
||||
.setWidth(DensityUtils.dp2px(mContext,100))
|
||||
.setOnMenuItemClickListener((dialog, text, index) -> {
|
||||
selectMonitor = selectGroup.getMonitors().getNormal().get(index);
|
||||
setText(binding.tvMonitorName, selectMonitor.getName());
|
||||
return false;
|
||||
}).setItemDivider(new ItemDivider(15, 15, 1));
|
||||
}
|
||||
|
||||
private void shoStationMenu() {
|
||||
List<CharSequence> menus = new ArrayList<>();
|
||||
for (FileMonitoringEntity.GroupsEntity.StationsEntity item : selectGroup.getStations()) {
|
||||
menus.add(item.getName());
|
||||
}
|
||||
PopMenu.show(binding.layoutMonitor, menus)
|
||||
.setBackgroundColorRes(R.color.white)
|
||||
.setOnMenuItemClickListener((dialog, text, index) -> {
|
||||
selectMonitor = selectStation.getMonitors().getNormal().get(index);
|
||||
setText(binding.tvMonitorName, selectMonitor.getName());
|
||||
selectStation = selectGroup.getStations().get(index);
|
||||
setText(binding.tvMonitorName, selectStation.getName());
|
||||
return false;
|
||||
}).setItemDivider(new ItemDivider(15, 15, 1));
|
||||
}
|
||||
@ -93,33 +116,40 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
onBackPressed();
|
||||
}
|
||||
});
|
||||
binding.layoutGroup.setOnClickListener(new SingleClickListener() {
|
||||
binding.layoutTeam.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
showGroupMenu();
|
||||
showTeamMenu();
|
||||
}
|
||||
});
|
||||
binding.layoutMonitor.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
showMonitorMenu();
|
||||
if (selectGroup.getType().equals("monitor")) {
|
||||
showMonitorMenu();
|
||||
} else {
|
||||
shoStationMenu();
|
||||
}
|
||||
}
|
||||
});
|
||||
stationAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
selectStation = selectGroup.getStations().get(i);
|
||||
selectMonitor = selectStation.getMonitors().getNormal().get(0);
|
||||
stationAdapter.setSelect(i);
|
||||
setText(binding.tvNormalCount, String.valueOf(ArrayUtil.size(selectStation.getMonitors().getNormal())));
|
||||
setText(binding.tvExceptionCount, String.valueOf(ArrayUtil.size(selectStation.getMonitors().getExceptions())));
|
||||
setText(binding.tvOfflineCount, String.valueOf(ArrayUtil.size(selectStation.getMonitors().getOffline())));
|
||||
setText(binding.tvMonitorName, selectMonitor.getName());
|
||||
groupAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
selectGroup = selectTeam.getGroups().get(i);
|
||||
groupAdapter.setSelect(i);
|
||||
if (selectGroup.getType().equals("monitor")) {
|
||||
selectMonitor = selectGroup.getMonitors().getNormal().get(0);
|
||||
selectStation = null;
|
||||
} else {
|
||||
selectStation = selectGroup.getStations().get(0);
|
||||
selectMonitor = null;
|
||||
}
|
||||
initView();
|
||||
});
|
||||
binding.normalLayout.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("status", 1);
|
||||
bundle.putSerializable("monitor_list", (Serializable) selectStation.getMonitors().getNormal());
|
||||
bundle.putSerializable("monitor_list", (Serializable) selectGroup.getMonitors().getNormal());
|
||||
IntentUtil.startActivity(mContext, MonitorListActivity.class, bundle);
|
||||
}
|
||||
});
|
||||
@ -128,7 +158,7 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
protected void onSingleClick(View v) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("status", 2);
|
||||
bundle.putSerializable("monitor_list", (Serializable) selectStation.getMonitors().getExceptions());
|
||||
bundle.putSerializable("monitor_list", (Serializable) selectGroup.getMonitors().getExceptions());
|
||||
IntentUtil.startActivity(mContext, MonitorListActivity.class, bundle);
|
||||
}
|
||||
});
|
||||
@ -137,7 +167,7 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
protected void onSingleClick(View v) {
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("status", 3);
|
||||
bundle.putSerializable("monitor_list", (Serializable) selectStation.getMonitors().getOffline());
|
||||
bundle.putSerializable("monitor_list", (Serializable) selectGroup.getMonitors().getOffline());
|
||||
IntentUtil.startActivity(mContext, MonitorListActivity.class, bundle);
|
||||
}
|
||||
});
|
||||
@ -148,22 +178,32 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
String jsonData = JsonUtils.getJsonFromAssets(mContext, "file_monitoring.json");
|
||||
mData = new Gson().fromJson(jsonData, new TypeToken<List<FileMonitoringEntity>>() {
|
||||
}.getType());
|
||||
selectGroup = mData.get(0);
|
||||
selectStation = selectGroup.getStations().get(0);
|
||||
selectMonitor = selectStation.getMonitors().getNormal().get(0);
|
||||
selectTeam = mData.get(0);
|
||||
selectGroup = selectTeam.getGroups().get(0);
|
||||
selectMonitor = selectGroup.getMonitors().getNormal().get(0);
|
||||
initView();
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
setText(binding.tvGroupName, selectGroup.getName());
|
||||
stationAdapter.setNewData(selectGroup.getStations());
|
||||
setText(binding.tvNormalCount, String.valueOf(ArrayUtil.size(selectStation.getMonitors().getNormal())));
|
||||
setText(binding.tvExceptionCount, String.valueOf(ArrayUtil.size(selectStation.getMonitors().getExceptions())));
|
||||
setText(binding.tvOfflineCount, String.valueOf(ArrayUtil.size(selectStation.getMonitors().getOffline())));
|
||||
setText(binding.tvMonitorName, selectMonitor.getName());
|
||||
setText(binding.tvTeamName, selectTeam.getName());
|
||||
groupAdapter.setNewData(selectTeam.getGroups());
|
||||
if (selectMonitor != null) {
|
||||
setText(binding.tvNormalCount, String.valueOf(ArrayUtil.size(selectGroup.getMonitors().getNormal())));
|
||||
setText(binding.tvExceptionCount, String.valueOf(ArrayUtil.size(selectGroup.getMonitors().getExceptions())));
|
||||
setText(binding.tvOfflineCount, String.valueOf(ArrayUtil.size(selectGroup.getMonitors().getOffline())));
|
||||
setText(binding.tvMonitorName, selectMonitor.getName());
|
||||
setGone(binding.layoutMonitorStatus, true);
|
||||
setGone(binding.layoutStationInfo, false);
|
||||
setGone(binding.imgMonitor, true);
|
||||
} else {
|
||||
setText(binding.tvMonitorName, selectStation.getName());
|
||||
setGone(binding.layoutStationInfo, true);
|
||||
setGone(binding.layoutMonitorStatus, false);
|
||||
setGone(binding.imgMonitor, false);
|
||||
}
|
||||
}
|
||||
|
||||
private class StationAdapter extends BaseQuickAdapter<FileMonitoringEntity.StationsEntity, BaseViewHolder> {
|
||||
private class GroupAdapter extends BaseQuickAdapter<FileMonitoringEntity.GroupsEntity, BaseViewHolder> {
|
||||
|
||||
private int selectIndex = 0;
|
||||
|
||||
@ -172,12 +212,12 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public StationAdapter() {
|
||||
public GroupAdapter() {
|
||||
super(R.layout.item_station);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(@NonNull BaseViewHolder holder, FileMonitoringEntity.StationsEntity entity) {
|
||||
protected void convert(@NonNull BaseViewHolder holder, FileMonitoringEntity.GroupsEntity entity) {
|
||||
int pos = holder.getLayoutPosition();
|
||||
View rootView = holder.getView(R.id.rootView);
|
||||
if (selectIndex == pos) {
|
||||
@ -185,10 +225,10 @@ public class FieldMonitoringActivity extends BaseActivity<ActivityFieldMonitorin
|
||||
} else {
|
||||
rootView.setBackgroundResource(R.drawable.bg_container_f5_raduis_10);
|
||||
}
|
||||
if (pos % 2 == 0) {
|
||||
holder.setImageResource(R.id.img, R.mipmap.pic_station_2);
|
||||
} else {
|
||||
if (entity.getType().equals("monitor")) {
|
||||
holder.setImageResource(R.id.img, R.mipmap.pic_station_1);
|
||||
} else {
|
||||
holder.setImageResource(R.id.img, R.mipmap.pic_station_2);
|
||||
}
|
||||
holder.setText(R.id.title, entity.getName());
|
||||
|
||||
|
@ -19,7 +19,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
public class MonitorListActivity extends BaseActivity<ActivityMonitorListBinding> {
|
||||
|
||||
private List<FileMonitoringEntity.StationsEntity.MonitorsEntity.MonitorItemEntity> mData;
|
||||
private List<FileMonitoringEntity.GroupsEntity.MonitorsEntity.MonitorItemEntity> mData;
|
||||
private int mStatus = -1; // 1->正常设备 2->异常设备 3->离线设备
|
||||
|
||||
private MonitorAdapter monitorAdapter;
|
||||
@ -38,7 +38,7 @@ public class MonitorListActivity extends BaseActivity<ActivityMonitorListBinding
|
||||
@Override
|
||||
protected void onQueryArguments() {
|
||||
mStatus = getIntent().getIntExtra("status", -1);
|
||||
mData = (List<FileMonitoringEntity.StationsEntity.MonitorsEntity.MonitorItemEntity>)
|
||||
mData = (List<FileMonitoringEntity.GroupsEntity.MonitorsEntity.MonitorItemEntity>)
|
||||
getIntent().getSerializableExtra("monitor_list");
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@ public class MonitorListActivity extends BaseActivity<ActivityMonitorListBinding
|
||||
}
|
||||
|
||||
private class MonitorAdapter
|
||||
extends BaseQuickAdapter<FileMonitoringEntity.StationsEntity.MonitorsEntity.MonitorItemEntity, BaseViewHolder> {
|
||||
extends BaseQuickAdapter<FileMonitoringEntity.GroupsEntity.MonitorsEntity.MonitorItemEntity, BaseViewHolder> {
|
||||
|
||||
public MonitorAdapter() {
|
||||
super(R.layout.item_monitor);
|
||||
@ -83,7 +83,7 @@ public class MonitorListActivity extends BaseActivity<ActivityMonitorListBinding
|
||||
|
||||
@Override
|
||||
protected void convert(@NonNull BaseViewHolder holder,
|
||||
FileMonitoringEntity.StationsEntity.MonitorsEntity.MonitorItemEntity entity) {
|
||||
FileMonitoringEntity.GroupsEntity.MonitorsEntity.MonitorItemEntity entity) {
|
||||
holder.setText(R.id.title, entity.getName());
|
||||
if (mStatus == 1) {
|
||||
holder.setImageResource(R.id.statusDot, R.mipmap.ic_station_status_normal);
|
||||
|
@ -0,0 +1,33 @@
|
||||
package com.tairui.industrial_operation.ui.smart_farm;
|
||||
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.tairui.industrial_operation.base.BaseActivity;
|
||||
import com.tairui.industrial_operation.databinding.ActivityPestsMonitoringBinding;
|
||||
import com.tairui.industrial_operation.util.SingleClickListener;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
public class PestsMonitoringActivity extends BaseActivity<ActivityPestsMonitoringBinding> {
|
||||
|
||||
@Override
|
||||
protected Class<ActivityPestsMonitoringBinding> getBindingClass() {
|
||||
return ActivityPestsMonitoringBinding.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initStatusBar() {
|
||||
ImmersionBar.with(this).fitsSystemWindows(false).transparentStatusBar()
|
||||
.statusBarDarkFont(true).init();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindListener() {
|
||||
binding.btnBack.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
onBackPressed();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -35,6 +35,18 @@ public class SmartFarmActivity extends BaseActivity<ActivitySmartFarmBinding> {
|
||||
IntentUtil.startActivity(mContext, FieldMonitoringActivity.class);
|
||||
}
|
||||
});
|
||||
binding.layoutWaterMonitoring.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
IntentUtil.startActivity(mContext, WaterMonitoringActivity.class);
|
||||
}
|
||||
});
|
||||
binding.layoutPestsMonitoring.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
IntentUtil.startActivity(mContext, PestsMonitoringActivity.class);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,33 @@
|
||||
package com.tairui.industrial_operation.ui.smart_farm;
|
||||
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
import com.tairui.industrial_operation.base.BaseActivity;
|
||||
import com.tairui.industrial_operation.databinding.ActivityWaterMonitoringBinding;
|
||||
import com.tairui.industrial_operation.util.SingleClickListener;
|
||||
|
||||
import android.view.View;
|
||||
|
||||
public class WaterMonitoringActivity extends BaseActivity<ActivityWaterMonitoringBinding> {
|
||||
|
||||
@Override
|
||||
protected Class<ActivityWaterMonitoringBinding> getBindingClass() {
|
||||
return ActivityWaterMonitoringBinding.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initStatusBar() {
|
||||
ImmersionBar.with(this).fitsSystemWindows(false).transparentStatusBar()
|
||||
.statusBarDarkFont(true).init();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindListener() {
|
||||
binding.btnBack.setOnClickListener(new SingleClickListener() {
|
||||
@Override
|
||||
protected void onSingleClick(View v) {
|
||||
onBackPressed();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -9,8 +9,10 @@ public class FileMonitoringEntity {
|
||||
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
@SerializedName("groups")
|
||||
private List<GroupsEntity> groups;
|
||||
@SerializedName("stations")
|
||||
private List<StationsEntity> stations;
|
||||
private List<StationsEntityX> stations;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
@ -20,19 +22,31 @@ public class FileMonitoringEntity {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public List<StationsEntity> getStations() {
|
||||
public List<GroupsEntity> getGroups() {
|
||||
return groups;
|
||||
}
|
||||
|
||||
public void setGroups(List<GroupsEntity> groups) {
|
||||
this.groups = groups;
|
||||
}
|
||||
|
||||
public List<StationsEntityX> getStations() {
|
||||
return stations;
|
||||
}
|
||||
|
||||
public void setStations(List<StationsEntity> stations) {
|
||||
public void setStations(List<StationsEntityX> stations) {
|
||||
this.stations = stations;
|
||||
}
|
||||
|
||||
public static class StationsEntity {
|
||||
public static class GroupsEntity {
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
@SerializedName("type")
|
||||
private String type;
|
||||
@SerializedName("monitors")
|
||||
private MonitorsEntity monitors;
|
||||
@SerializedName("stations")
|
||||
private List<StationsEntity> stations;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
@ -42,6 +56,14 @@ public class FileMonitoringEntity {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public MonitorsEntity getMonitors() {
|
||||
return monitors;
|
||||
}
|
||||
@ -50,6 +72,14 @@ public class FileMonitoringEntity {
|
||||
this.monitors = monitors;
|
||||
}
|
||||
|
||||
public List<StationsEntity> getStations() {
|
||||
return stations;
|
||||
}
|
||||
|
||||
public void setStations(List<StationsEntity> stations) {
|
||||
this.stations = stations;
|
||||
}
|
||||
|
||||
public static class MonitorsEntity {
|
||||
@SerializedName("normal")
|
||||
private List<MonitorItemEntity> normal;
|
||||
@ -100,6 +130,288 @@ public class FileMonitoringEntity {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static class StationsEntity {
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
@SerializedName("status")
|
||||
private Integer status;
|
||||
@SerializedName("crops_name")
|
||||
private String cropsName;
|
||||
@SerializedName("grow_step")
|
||||
private String growStep;
|
||||
@SerializedName("plant_type")
|
||||
private String plantType;
|
||||
@SerializedName("petiole_type")
|
||||
private String petioleType;
|
||||
@SerializedName("growth_pattern")
|
||||
private String growthPattern;
|
||||
@SerializedName("growth_pattern_status")
|
||||
private Integer growthPatternStatus;
|
||||
@SerializedName("organic_matter")
|
||||
private String organicMatter;
|
||||
@SerializedName("organic_matter_type")
|
||||
private Integer organicMatterType;
|
||||
@SerializedName("sensors")
|
||||
private List<SensorsEntity> sensors;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getCropsName() {
|
||||
return cropsName;
|
||||
}
|
||||
|
||||
public void setCropsName(String cropsName) {
|
||||
this.cropsName = cropsName;
|
||||
}
|
||||
|
||||
public String getGrowStep() {
|
||||
return growStep;
|
||||
}
|
||||
|
||||
public void setGrowStep(String growStep) {
|
||||
this.growStep = growStep;
|
||||
}
|
||||
|
||||
public String getPlantType() {
|
||||
return plantType;
|
||||
}
|
||||
|
||||
public void setPlantType(String plantType) {
|
||||
this.plantType = plantType;
|
||||
}
|
||||
|
||||
public String getPetioleType() {
|
||||
return petioleType;
|
||||
}
|
||||
|
||||
public void setPetioleType(String petioleType) {
|
||||
this.petioleType = petioleType;
|
||||
}
|
||||
|
||||
public String getGrowthPattern() {
|
||||
return growthPattern;
|
||||
}
|
||||
|
||||
public void setGrowthPattern(String growthPattern) {
|
||||
this.growthPattern = growthPattern;
|
||||
}
|
||||
|
||||
public Integer getGrowthPatternStatus() {
|
||||
return growthPatternStatus;
|
||||
}
|
||||
|
||||
public void setGrowthPatternStatus(Integer growthPatternStatus) {
|
||||
this.growthPatternStatus = growthPatternStatus;
|
||||
}
|
||||
|
||||
public String getOrganicMatter() {
|
||||
return organicMatter;
|
||||
}
|
||||
|
||||
public void setOrganicMatter(String organicMatter) {
|
||||
this.organicMatter = organicMatter;
|
||||
}
|
||||
|
||||
public Integer getOrganicMatterType() {
|
||||
return organicMatterType;
|
||||
}
|
||||
|
||||
public void setOrganicMatterType(Integer organicMatterType) {
|
||||
this.organicMatterType = organicMatterType;
|
||||
}
|
||||
|
||||
public List<SensorsEntity> getSensors() {
|
||||
return sensors;
|
||||
}
|
||||
|
||||
public void setSensors(List<SensorsEntity> sensors) {
|
||||
this.sensors = sensors;
|
||||
}
|
||||
|
||||
public static class SensorsEntity {
|
||||
@SerializedName("type")
|
||||
private String type;
|
||||
@SerializedName("value")
|
||||
private String value;
|
||||
@SerializedName("status")
|
||||
private Integer status;
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class StationsEntityX {
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
@SerializedName("type")
|
||||
private String type;
|
||||
@SerializedName("monitors")
|
||||
private MonitorsEntityX monitors;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public MonitorsEntityX getMonitors() {
|
||||
return monitors;
|
||||
}
|
||||
|
||||
public void setMonitors(MonitorsEntityX monitors) {
|
||||
this.monitors = monitors;
|
||||
}
|
||||
|
||||
public static class MonitorsEntityX {
|
||||
@SerializedName("normal")
|
||||
private List<NormalEntityX> normal;
|
||||
@SerializedName("exceptions")
|
||||
private List<ExceptionsEntityX> exceptions;
|
||||
@SerializedName("offline")
|
||||
private List<OfflineEntityX> offline;
|
||||
|
||||
public List<NormalEntityX> getNormal() {
|
||||
return normal;
|
||||
}
|
||||
|
||||
public void setNormal(List<NormalEntityX> normal) {
|
||||
this.normal = normal;
|
||||
}
|
||||
|
||||
public List<ExceptionsEntityX> getExceptions() {
|
||||
return exceptions;
|
||||
}
|
||||
|
||||
public void setExceptions(List<ExceptionsEntityX> exceptions) {
|
||||
this.exceptions = exceptions;
|
||||
}
|
||||
|
||||
public List<OfflineEntityX> getOffline() {
|
||||
return offline;
|
||||
}
|
||||
|
||||
public void setOffline(List<OfflineEntityX> offline) {
|
||||
this.offline = offline;
|
||||
}
|
||||
|
||||
public static class NormalEntityX {
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
@SerializedName("status")
|
||||
private Integer status;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
||||
public static class ExceptionsEntityX {
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
@SerializedName("status")
|
||||
private Integer status;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
}
|
||||
|
||||
public static class OfflineEntityX {
|
||||
@SerializedName("name")
|
||||
private String name;
|
||||
@SerializedName("status")
|
||||
private Integer status;
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public Integer getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(Integer status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
@ -1,8 +1,12 @@
|
||||
package com.tairui.industrial_operation.util;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.tairui.industrial_operation.ui.photoview.PhotoViewActivty;
|
||||
import com.tairui.industrial_operation.widget.loading.LoadingDialog;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
|
||||
public class AppUtil {
|
||||
|
||||
@ -21,4 +25,11 @@ public class AppUtil {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void startPhotoView(Context context, ArrayList<String> imgs){
|
||||
Bundle bundle = new Bundle();
|
||||
bundle.putInt("index", 0);
|
||||
bundle.putStringArrayList("imgs", imgs);
|
||||
IntentUtil.startActivity(context, PhotoViewActivty.class, bundle);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,58 @@
|
||||
package com.tairui.industrial_operation.widget;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.MotionEvent;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
/**
|
||||
* @author kpinfo
|
||||
*/
|
||||
public class CustomViewPager extends ViewPager {
|
||||
|
||||
private boolean isCanScroll;
|
||||
|
||||
public CustomViewPager(Context context) {
|
||||
super(context);
|
||||
}
|
||||
|
||||
public CustomViewPager(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onTouchEvent(MotionEvent ev) {
|
||||
if (isCanScroll) {
|
||||
//允许滑动则应该调用父类的方法
|
||||
try {
|
||||
return super.onTouchEvent(ev);
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
//禁止滑动则不做任何操作,直接返回true即可
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onInterceptTouchEvent(MotionEvent ev) {
|
||||
try {
|
||||
if (isCanScroll) {
|
||||
return super.onInterceptTouchEvent(ev);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置是否允许滑动,true是可以滑动,false是禁止滑动
|
||||
*
|
||||
* @param isCanScroll 是否可以滚动
|
||||
*/
|
||||
public void setIsCanScroll(boolean isCanScroll) {
|
||||
this.isCanScroll = isCanScroll;
|
||||
}
|
||||
}
|
@ -46,200 +46,493 @@
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<LinearLayout
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:orientation="vertical"
|
||||
android:scrollbars="none"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/toolbar">
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutGroup"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
android:layout_margin="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvGroupName"
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutTeam"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="A区田间监测设备组" />
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
<TextView
|
||||
android:id="@+id/tvTeamName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="A区田间监测设备组" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/stationRecycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:scrollbars="none" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/layoutMonitorStatus"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/normalLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="40dp"
|
||||
android:background="@drawable/bg_container_f5_raduis_10"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/exceptionLayout"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/statusNormal"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ic_station_status_normal"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="正常"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusNormal"
|
||||
app:layout_constraintLeft_toRightOf="@id/statusNormal"
|
||||
app:layout_constraintTop_toTopOf="@id/statusNormal" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvNormalCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="5"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusNormal"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/statusNormal" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/exceptionLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:background="@drawable/bg_container_f5_raduis_10"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintLeft_toRightOf="@id/normalLayout"
|
||||
app:layout_constraintRight_toLeftOf="@id/offlineLayout"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/statusException"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ic_station_status_exception"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="异常"
|
||||
android:textColor="@color/color_txt_red"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusException"
|
||||
app:layout_constraintLeft_toRightOf="@id/statusException"
|
||||
app:layout_constraintTop_toTopOf="@id/statusException" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvExceptionCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="5"
|
||||
android:textColor="@color/color_txt_red"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusException"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/statusException" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/offlineLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:background="@drawable/bg_container_f5_raduis_10"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintLeft_toRightOf="@id/exceptionLayout"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/statusOffline"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ic_station_status_offline"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="离线"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusOffline"
|
||||
app:layout_constraintLeft_toRightOf="@id/statusOffline"
|
||||
app:layout_constraintTop_toTopOf="@id/statusOffline" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvOfflineCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="5"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusOffline"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/statusOffline" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/stationRecycler"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:scrollbars="none" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:orientation="horizontal">
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:padding="12dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/normalLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="40dp"
|
||||
android:background="@drawable/bg_container_f5_raduis_10"
|
||||
android:padding="8dp"
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutMonitor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/exceptionLayout"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/statusNormal"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ic_station_status_normal"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvMonitorName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="正常"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusNormal"
|
||||
app:layout_constraintLeft_toRightOf="@id/statusNormal"
|
||||
app:layout_constraintTop_toTopOf="@id/statusNormal" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvNormalCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="5"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusNormal"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/statusNormal" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/exceptionLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:background="@drawable/bg_container_f5_raduis_10"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintLeft_toRightOf="@id/normalLayout"
|
||||
app:layout_constraintRight_toLeftOf="@id/offlineLayout"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
tools:text="监控-001" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/statusException"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ic_station_status_exception"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="异常"
|
||||
android:textColor="@color/color_txt_red"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusException"
|
||||
app:layout_constraintLeft_toRightOf="@id/statusException"
|
||||
app:layout_constraintTop_toTopOf="@id/statusException" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvExceptionCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="5"
|
||||
android:textColor="@color/color_txt_red"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusException"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/statusException" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/offlineLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:background="@drawable/bg_container_f5_raduis_10"
|
||||
android:padding="8dp"
|
||||
app:layout_constraintLeft_toRightOf="@id/exceptionLayout"
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="正常"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/statusOffline"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@mipmap/ic_station_status_offline"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
android:layout_marginLeft="4dp"
|
||||
android:src="@mipmap/ic_station_status_normal" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imgMonitor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@mipmap/pic_monitor"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintDimensionRatio="344:188"
|
||||
app:layout_constraintTop_toBottomOf="@id/layoutMonitor" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutStationInfo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toBottomOf="@id/layoutMonitor">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:src="@mipmap/pic_sensor_1" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:src="@mipmap/pic_sensor_2" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:src="@mipmap/pic_sensor_3" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@mipmap/pic_sensor_4" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="离线"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusOffline"
|
||||
app:layout_constraintLeft_toRightOf="@id/statusOffline"
|
||||
app:layout_constraintTop_toTopOf="@id/statusOffline" />
|
||||
android:layout_marginTop="12dp"
|
||||
android:text="作物生长状态"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:text="作物名称"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:text="甘蔗"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:text="生长阶段"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:text="成熟期"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:text="植株形态"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:text="果木型"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:text="叶片形态"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:text="阔叶型"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:text="生长态势"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:text="良好"
|
||||
android:textColor="@color/color_txt_green"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:text="田间有机质含量"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|center_vertical"
|
||||
android:text="10%"
|
||||
android:textColor="@color/color_txt_green"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvOfflineCount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:text="5"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_gravity="left|center_vertical"
|
||||
android:text="生长趋势图"
|
||||
android:textColor="@color/color_txt_label"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="@id/statusOffline"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/statusOffline" />
|
||||
android:textSize="14sp" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_marginTop="12dp"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:src="@mipmap/pic_monitor_chart"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintDimensionRatio="334:156"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@ -247,77 +540,7 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:padding="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutMonitor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvMonitorName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
tools:text="监控-001" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="正常"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:src="@mipmap/ic_station_status_normal" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@mipmap/pic_monitor"
|
||||
app:layout_constraintDimensionRatio="344:188"
|
||||
app:layout_constraintTop_toBottomOf="@id/layoutMonitor" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
249
app/src/main/res/layout/activity_pests_monitoring.xml
Normal file
@ -0,0 +1,249 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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:background="@color/color_f5f5f5">
|
||||
|
||||
<com.tairui.industrial_operation.widget.statusbar.StatusBarHeightView
|
||||
android:id="@+id/statusbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:layout_constraintTop_toBottomOf="@id/statusbar">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btnBack"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:padding="4dp"
|
||||
android:src="@mipmap/ic_back_black"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="病虫害监测"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:orientation="vertical"
|
||||
android:scrollbars="none"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/toolbar">
|
||||
|
||||
|
||||
<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_margin="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutTeam"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTeamName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:text="A区田间监测设备组" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="96dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:background="@drawable/bg_container_f5_raduis_10"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/ic_monitoring_water" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="病害监测分析仪"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="96dp"
|
||||
android:layout_marginLeft="12dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:background="@drawable/bg_container_f5_green_border_raduis_10"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/ic_monitoring_water" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="虫害监测分析仪"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:padding="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutMonitor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvMonitorName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="虫害监测分析仪-001"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="正常"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:src="@mipmap/ic_station_status_normal" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pic1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@mipmap/pic_pests_1"
|
||||
app:layout_constraintDimensionRatio="344:188"
|
||||
app:layout_constraintTop_toBottomOf="@id/layoutMonitor" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pic2"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@mipmap/pic_pests_2"
|
||||
app:layout_constraintDimensionRatio="344:56"
|
||||
app:layout_constraintTop_toBottomOf="@id/pic1" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pic3"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:src="@mipmap/pic_pests_3"
|
||||
app:layout_constraintDimensionRatio="344:156"
|
||||
app:layout_constraintTop_toBottomOf="@id/pic2" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
42
app/src/main/res/layout/activity_photo_view.xml
Normal file
@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
<com.tairui.industrial_operation.widget.statusbar.StatusBarHeightView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/black" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.tairui.industrial_operation.widget.CustomViewPager
|
||||
android:id="@+id/view_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/black" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_gravity="top|left"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:padding="2.5dp"
|
||||
android:src="@mipmap/ic_back_white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/page"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="right|bottom"
|
||||
android:layout_margin="12dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="14sp" />
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
@ -309,6 +309,7 @@
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutWaterMonitoring"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
@ -331,6 +332,7 @@
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutPestsMonitoring"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
|
264
app/src/main/res/layout/activity_water_monitoring.xml
Normal file
@ -0,0 +1,264 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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:background="@color/color_f5f5f5">
|
||||
|
||||
<com.tairui.industrial_operation.widget.statusbar.StatusBarHeightView
|
||||
android:id="@+id/statusbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:layout_constraintTop_toBottomOf="@id/statusbar">
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/btnBack"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:padding="4dp"
|
||||
android:src="@mipmap/ic_back_black"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="水质监测"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:orientation="vertical"
|
||||
android:scrollbars="none"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/toolbar">
|
||||
|
||||
|
||||
<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_margin="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:orientation="vertical"
|
||||
android:padding="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutTeam"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTeamName"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold"
|
||||
android:text="A区田间监测设备组" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="120dp"
|
||||
android:layout_height="96dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:background="@drawable/bg_container_f5_green_border_raduis_10"
|
||||
android:gravity="center"
|
||||
android:orientation="vertical">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:src="@mipmap/ic_monitoring_water" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="水质参数分析仪"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@drawable/bg_container_white_raduis_10"
|
||||
android:padding="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutMonitor"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvMonitorName"
|
||||
android:text="水质参数分析仪-001"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="16dp"
|
||||
android:layout_height="16dp"
|
||||
android:layout_marginLeft="8dp"
|
||||
android:src="@mipmap/ic_arrow_down_black" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="正常"
|
||||
android:textColor="@color/color_green"
|
||||
android:textSize="12sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginLeft="4dp"
|
||||
android:src="@mipmap/ic_station_status_normal" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imgMonitor"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@mipmap/pic_monitor"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintDimensionRatio="344:188"
|
||||
app:layout_constraintTop_toBottomOf="@id/layoutMonitor" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutStationInfo"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintTop_toBottomOf="@id/layoutMonitor">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:src="@mipmap/pic_sensor_1" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:src="@mipmap/pic_sensor_2" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:src="@mipmap/pic_sensor_3" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="108dp"
|
||||
android:layout_height="108dp"
|
||||
android:layout_marginTop="12dp"
|
||||
android:src="@mipmap/pic_sensor_4" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:text="历史水质数据"
|
||||
android:textColor="@color/color_txt_black"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imgPic"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:src="@mipmap/pic_water_monitoring"
|
||||
app:layout_constraintDimensionRatio="334:200"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
BIN
app/src/main/res/mipmap-xxhdpi/ic_back_white.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_monitoring_water.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_monitor_chart.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_pests_1.png
Normal file
After Width: | Height: | Size: 1000 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_pests_2.png
Normal file
After Width: | Height: | Size: 186 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_pests_3.png
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_sensor_1.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_sensor_2.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_sensor_3.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_sensor_4.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/pic_water_monitoring.png
Normal file
After Width: | Height: | Size: 112 KiB |
@ -9,6 +9,7 @@
|
||||
<color name="color_tv_titile">#35353F</color>
|
||||
<color name="color_tv_content">#666666</color>
|
||||
<color name="color_txt_black">#444444</color>
|
||||
<color name="color_txt_green">#25BF82</color>
|
||||
<color name="color_f5f5f5">#F5F5F5</color>
|
||||
<color name="color_txt_red">#FF4348</color>
|
||||
<color name="color_txt_label">#999999</color>
|
||||
|