排程重做
This commit is contained in:
@@ -159,7 +159,7 @@ dependencies {
|
||||
//鲁班图片压缩
|
||||
implementation 'top.zibin:Luban:1.1.8'
|
||||
//带有侧滑功能的recyclerview
|
||||
// implementation 'com.yanzhenjie.recyclerview:x:1.3.2'
|
||||
implementation 'com.yanzhenjie.recyclerview:x:1.3.2'
|
||||
implementation 'com.github.luqiming666:SwipeRecyclerView:1.4.8'
|
||||
//Activity与Fragmen实现沉浸式状态栏
|
||||
implementation 'com.github.tangguna:immersion:1.0.1'
|
||||
|
||||
@@ -129,7 +129,6 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
"取消", "保存", new BaseFragment.OnDialogClick() {
|
||||
@Override
|
||||
public void onCancelClick() {
|
||||
selectTabBind(mEditEntity);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -156,7 +155,7 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
}
|
||||
});
|
||||
} else {
|
||||
selectTabBind(null);
|
||||
selectTabBind(mNewAddEntity);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -166,6 +165,13 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
}
|
||||
|
||||
private void selectTabBind(WaterPlanWeekEntity entity) {
|
||||
if (entity == null) {
|
||||
entity = mIsEditMode ? mEditEntity : mNewAddEntity;
|
||||
}
|
||||
if (entity == null) {
|
||||
ToastUtil.showShort(mContext, "请先保存排程");
|
||||
return;
|
||||
}
|
||||
viewBinding.tvConfig.setSelected(false);
|
||||
viewBinding.tvBind.setSelected(true);
|
||||
viewBinding.viewpage.setCurrentItem(1);
|
||||
@@ -176,6 +182,7 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
}
|
||||
|
||||
public void onConfigSaved(WaterPlanWeekEntity entity) {
|
||||
mNewAddEntity = entity;
|
||||
selectTabBind(entity);
|
||||
}
|
||||
|
||||
|
||||
@@ -64,6 +64,10 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
|
||||
public void onClick(View v){
|
||||
switch (v.getId()){
|
||||
case R.id.tv_commit:
|
||||
if (mPlanEntity == null) {
|
||||
ToastUtil.showShort(mContext, "请先保存排程");
|
||||
return;
|
||||
}
|
||||
boolean isSelected = false;
|
||||
List<String> selected = new ArrayList<>();
|
||||
for(WaterDeviceEntity.DeviceListBean bean : mDeviceList){
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ckkj.water.plan;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.MotionEvent;
|
||||
import android.view.View;
|
||||
|
||||
import com.ckkj.water.R;
|
||||
@@ -73,6 +74,22 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
setClick(viewBinding.btnEdit);
|
||||
setClick(viewBinding.btnDelete);
|
||||
setClick(viewBinding.switchButton);
|
||||
// viewBinding.switchButton.setOnTouchListener(new View.OnTouchListener() {
|
||||
// @Override
|
||||
// public boolean onTouch(View v, MotionEvent event) {
|
||||
// if (event.getAction() == MotionEvent.ACTION_DOWN) {
|
||||
// if (viewBinding.switchButton.isChecked()) {
|
||||
// // 当前是开启状态,下一步将是关闭 -> 屏蔽动画(时长设为0)
|
||||
// viewBinding.switchButton.setAnimationDuration(0);
|
||||
// } else {
|
||||
// // 当前是关闭状态,下一步将是开启 -> 开启动画(恢复默认的 250ms 或你想要的时长)
|
||||
// viewBinding.switchButton.setAnimationDuration(250);
|
||||
// }
|
||||
// }
|
||||
// // 返回 false 以便将触摸事件继续传递给 SwitchButton 内部的点击/滑动逻辑
|
||||
// return false;
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
@@ -136,6 +153,8 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取配成详情成功
|
||||
* @param entity
|
||||
|
||||
@@ -0,0 +1,195 @@
|
||||
package com.ckkj.water.plan;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.text.Editable;
|
||||
import android.text.TextUtils;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.View;
|
||||
|
||||
import com.bigkoo.pickerview.builder.TimePickerBuilder;
|
||||
import com.bigkoo.pickerview.listener.OnTimeSelectListener;
|
||||
import com.bigkoo.pickerview.view.TimePickerView;
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.base.BaseFragment;
|
||||
import com.ckkj.water.databinding.WaterConfigFragmentLayoutBinding;
|
||||
import com.ckkj.water.databinding.WaterConfigFragmentLayoutCopyBinding;
|
||||
import com.ckkj.water.index.entity.WaterDeviceEntity;
|
||||
import com.ckkj.water.network.BaseBean;
|
||||
import com.ckkj.water.plan.adapter.WaterPlanTimeDataAdapter;
|
||||
import com.ckkj.water.plan.adapter.WaterPlanWeekAdapter;
|
||||
import com.ckkj.water.plan.adapter.WaterPlanWeekAdapter_copy;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
||||
import com.ckkj.water.plan.mvp.WaterPlanImpl;
|
||||
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
||||
import com.ckkj.water.utils.time.ZYTimeUtils;
|
||||
import com.google.gson.Gson;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public class WaterConfigFragment_copy extends BaseFragment<WaterConfigFragmentLayoutCopyBinding, WaterPlanPresenter>
|
||||
implements WaterPlanContract.WaterPlanView {
|
||||
private List<WaterPlanWeekEntity.DetailsBean> weekList = new ArrayList<>();
|
||||
private List<WaterPlanWeekEntity.TimeDataBean> timeList = new ArrayList<>();
|
||||
private WaterPlanWeekAdapter_copy mWeekAdapter;
|
||||
private WaterPlanTimeDataAdapter mTimeAdapter;
|
||||
|
||||
|
||||
@Override
|
||||
public void initData(Bundle state) {
|
||||
List<WaterPlanWeekEntity.DetailsBean> list = new ArrayList<>();
|
||||
for(int i = 0; i < 7; i++){
|
||||
WaterPlanWeekEntity.DetailsBean bean = new WaterPlanWeekEntity.DetailsBean();
|
||||
WaterPlanWeekEntity.TimeDataBean timeData = new WaterPlanWeekEntity.TimeDataBean();
|
||||
List<WaterPlanWeekEntity.TimeDataBean> timeDataList = new ArrayList<>();
|
||||
timeDataList.add(timeData);
|
||||
bean.setTimeData(timeDataList);
|
||||
bean.setWeekday(i + 1);
|
||||
bean.setStatus("0");
|
||||
bean.setWeekName(ZYTimeUtils.getWeekName(i));
|
||||
list.add(bean);
|
||||
}
|
||||
weekList = list;
|
||||
//顶部周一、周二。。。。。
|
||||
mWeekAdapter = new WaterPlanWeekAdapter_copy(mContext, R.layout.plan_period_item,list);
|
||||
viewBinding.rvWeek.setAdapter(mWeekAdapter);
|
||||
//周期对应的 时间配置
|
||||
mTimeAdapter = new WaterPlanTimeDataAdapter(mContext,R.layout.include_plan_time_item_layout,timeList);
|
||||
viewBinding.rvTimes.setAdapter(mTimeAdapter);
|
||||
initListener();
|
||||
}
|
||||
|
||||
private void initListener() {
|
||||
setClick(viewBinding.tvCommit);
|
||||
// viewBinding.etPlanTime.addTextChangedListener(new TextWatcher() {
|
||||
// @Override
|
||||
// public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void afterTextChanged(Editable s) {
|
||||
// if(weekList != null){
|
||||
// String time = s.toString();
|
||||
// if(TextUtils.isEmpty(time)){
|
||||
// weekList.get(0).getWashCycleList().get(mWeekAdapter.getmPos()).setDuration("");
|
||||
// }else{
|
||||
// weekList.get(0).getWashCycleList().get(mWeekAdapter.getmPos()).setDuration(time);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
mWeekAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
mWeekAdapter.setSelPos(position);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setClick(View view) {
|
||||
view.setOnClickListener(this::onClick);
|
||||
}
|
||||
|
||||
public void onClick(View v){
|
||||
switch (v.getId()){
|
||||
case R.id.tv_select_time:
|
||||
boolean times[] = {false, false, false, true, true, false};
|
||||
//时间选择器
|
||||
// TimePickerView pvTime = new TimePickerBuilder(mContext, new OnTimeSelectListener() {
|
||||
// @Override
|
||||
// public void onTimeSelect(Date date, View v) {
|
||||
// viewBinding.tvSelectTime.setText(ZYTimeUtils.getStrTimeData_H_M(date));
|
||||
// if(weekList != null){
|
||||
// String startTime = ZYTimeUtils.getStrTimeData_H_M(date).trim();
|
||||
// weekList.get(0).getWashCycleList().get(mWeekAdapter.getmPos()).setTime(startTime);
|
||||
// }
|
||||
// }
|
||||
// }).setType(times)
|
||||
// .setCancelColor(mContext.getColor(R.color.color_999999))
|
||||
// .setSubmitColor(mContext.getColor(R.color.color_zhu))
|
||||
// .setTextColorCenter(mContext.getColor(R.color.color_zhu))
|
||||
// .build();
|
||||
// pvTime.show();
|
||||
break;
|
||||
|
||||
case R.id.tv_commit:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// private List<WaterPlanWeekEntity.DeviceEntity> getSelectedDevices() {
|
||||
// if (getActivity() instanceof AddWaterPlanActivity) {
|
||||
// return ((AddWaterPlanActivity) getActivity()).getSelectedDevices();
|
||||
// }
|
||||
// return new ArrayList<>();
|
||||
// }
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
return new WaterPlanPresenter(new WaterPlanImpl());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNetChange(int netModel) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showError(String message) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logOut(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list, int total) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updatePlanStatusSuccess(BaseBean bean, String status) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void planBindDeviceSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deletePlanSuccess(BaseBean bean) {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
package com.ckkj.water.plan.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author fengxiaoyang
|
||||
* @date 2026/5/28
|
||||
* @description TODO: 描述该类的作用
|
||||
*/
|
||||
public class WaterPlanTimeDataAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.TimeDataBean, BaseViewHolder> {
|
||||
private Context mContext;
|
||||
public WaterPlanTimeDataAdapter(Context context,int layoutResId, @Nullable List<WaterPlanWeekEntity.TimeDataBean> data) {
|
||||
super(layoutResId, data);
|
||||
mContext = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.TimeDataBean item) {
|
||||
TextView tvStartTime = helper.getView(R.id.tv_select_time);
|
||||
TextView tvPlanDuration = helper.getView(R.id.tv_plan_duration);
|
||||
|
||||
if(!TextUtils.isEmpty(item.getStartTime())){
|
||||
helper.setText(R.id.tv_select_time, item.getStartTime());
|
||||
}else{
|
||||
helper.setText(R.id.tv_select_time,"");
|
||||
tvStartTime.setHint(mContext.getString(R.string.select_water_time));
|
||||
}
|
||||
if(item.getDurationMin() != 0){
|
||||
helper.setText(R.id.tv_plan_duration,item.getDurationMin() + "");
|
||||
}else{
|
||||
helper.setText(R.id.tv_plan_duration,"");
|
||||
tvPlanDuration.setHint(mContext.getString(R.string.input_water_plan_time));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
package com.ckkj.water.plan.adapter;
|
||||
|
||||
import android.content.Context;
|
||||
import android.text.TextUtils;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||
import com.chad.library.adapter.base.BaseViewHolder;
|
||||
import com.ckkj.water.R;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class WaterPlanWeekAdapter_copy extends BaseQuickAdapter<WaterPlanWeekEntity.DetailsBean, BaseViewHolder> {
|
||||
private List<WaterPlanWeekEntity.DetailsBean> mList = new ArrayList<>();
|
||||
private Context mContext;
|
||||
|
||||
private int mPos = 0;
|
||||
public WaterPlanWeekAdapter_copy(Context context, int layoutResId, @Nullable List<WaterPlanWeekEntity.DetailsBean> data) {
|
||||
super(layoutResId, data);
|
||||
this.mContext = context;
|
||||
this.mList = data;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.DetailsBean item) {
|
||||
TextView tvStartTime = helper.getView(R.id.tv_select_time);
|
||||
CheckBox checkBox = helper.getView(R.id.checkbox);
|
||||
TextView tvPlanDuration = helper.getView(R.id.tv_plan_duration);
|
||||
|
||||
|
||||
helper.setText(R.id.tv_week_name,item.getWeekName());
|
||||
|
||||
if(!TextUtils.isEmpty(item.getStartTime())){
|
||||
helper.setText(R.id.tv_select_time, item.getStartTime());
|
||||
}else{
|
||||
helper.setText(R.id.tv_select_time,"");
|
||||
tvStartTime.setHint(mContext.getString(R.string.select_water_time));
|
||||
}
|
||||
if(item.getDurationMin() != 0){
|
||||
helper.setText(R.id.tv_plan_duration,item.getDurationMin() + "");
|
||||
}else{
|
||||
helper.setText(R.id.tv_plan_duration,"");
|
||||
tvPlanDuration.setHint(mContext.getString(R.string.input_water_plan_time));
|
||||
}
|
||||
|
||||
if(item.getStatus().equals("1")){
|
||||
checkBox.setChecked(true);
|
||||
}else{
|
||||
checkBox.setChecked(false);
|
||||
}
|
||||
|
||||
helper.addOnClickListener(R.id.linear_week);
|
||||
helper.addOnClickListener(R.id.checkbox);
|
||||
helper.addOnClickListener(R.id.tv_select_time);
|
||||
helper.addOnClickListener(R.id.tv_plan_duration);
|
||||
|
||||
// LinearLayout linearItem = helper.getView(R.id.linear_item);
|
||||
// View viewStatus = helper.getView(R.id.view_status);
|
||||
// if(helper.getLayoutPosition() == mPos){
|
||||
// linearItem.setBackground(mContext.getResources().getDrawable(R.drawable.shape_water_period_sel_bg));
|
||||
// viewStatus.setVisibility(VISIBLE);
|
||||
// viewStatus.setBackground(mContext.getResources().getDrawable(R.drawable.shape_green_circle));
|
||||
// }else{
|
||||
// linearItem.setBackground(null);
|
||||
// if(!TextUtils.isEmpty(item.getTime()) && !TextUtils.isEmpty(item.getDuration())){
|
||||
// viewStatus.setVisibility(VISIBLE);
|
||||
// viewStatus.setBackground(mContext.getResources().getDrawable(R.drawable.shape_yellow_circle));
|
||||
// }else{
|
||||
// viewStatus.setVisibility(INVISIBLE);
|
||||
// viewStatus.setBackground(null);
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
public void setSelPos(int position) {
|
||||
this.mPos = position;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public int getmPos() {
|
||||
return mPos;
|
||||
}
|
||||
}
|
||||
@@ -29,6 +29,8 @@ public class WaterPlanWeekEntity implements Serializable {
|
||||
private String status = "1";
|
||||
private List<DetailsBean> details;
|
||||
|
||||
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class DetailsBean implements Serializable{
|
||||
@@ -62,5 +64,13 @@ public class WaterPlanWeekEntity implements Serializable {
|
||||
private Object zones;
|
||||
private String triggerType = "0";
|
||||
private String status = "1";
|
||||
private List<TimeDataBean> timeData;
|
||||
}
|
||||
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class TimeDataBean implements Serializable{
|
||||
private String startTime = "";
|
||||
private int durationMin = 0;
|
||||
}
|
||||
}
|
||||
|
||||
103
app/src/main/res/layout/include_plan_time_item_layout.xml
Normal file
103
app/src/main/res/layout/include_plan_time_item_layout.xml
Normal file
@@ -0,0 +1,103 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_15"
|
||||
android:layout_marginHorizontal="@dimen/dp_20"
|
||||
android:paddingHorizontal="@dimen/dp_20"
|
||||
android:orientation="vertical"
|
||||
android:background="@drawable/shape_water_plan_time_bg">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/red"
|
||||
android:text="*"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_4"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:text="@string/plan_start_time"
|
||||
android:layout_marginVertical="@dimen/dp_13"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_select_time"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="9"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:layout_marginLeft="@dimen/dp_10"
|
||||
android:hint="@string/select_water_time"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:layout_weight="0.5"
|
||||
android:src="@mipmap/icon_point_right_wt"/>
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/color_d9d9d9"/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/red"
|
||||
android:text="*"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_4"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:text="@string/plan_time"
|
||||
android:layout_marginVertical="@dimen/dp_13"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/et_plan_time"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="9"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:background="@null"
|
||||
android:layout_marginLeft="@dimen/dp_10"
|
||||
android:hint="@string/input_water_plan_time"
|
||||
android:imeOptions="actionDone"
|
||||
android:inputType="number"/>
|
||||
<TextView
|
||||
android:id="@+id/tv_time_unit"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="2"
|
||||
android:gravity="center_vertical|right"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:layout_marginLeft="@dimen/dp_10"
|
||||
android:hint="min"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
145
app/src/main/res/layout/water_config_fragment_layout_copy.xml
Normal file
145
app/src/main/res/layout/water_config_fragment_layout_copy.xml
Normal file
@@ -0,0 +1,145 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.core.widget.NestedScrollView 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:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:gravity="center_horizontal">
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="@dimen/dp_30">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/red"
|
||||
android:text="*"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_4"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:text="@string/plan_name_text"
|
||||
android:layout_marginVertical="@dimen/dp_13"/>
|
||||
|
||||
<EditText
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:gravity="center_vertical"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:background="@null"
|
||||
android:layout_marginLeft="@dimen/dp_10"
|
||||
android:hint="@string/input_plan_name"/>
|
||||
</LinearLayout>
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_1"
|
||||
android:background="@color/color_f5f5f5"
|
||||
android:layout_marginHorizontal="@dimen/dp_30"/>
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="@dimen/dp_30">
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/red"
|
||||
android:text="*"/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_4"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:text="@string/plan_period"
|
||||
android:layout_marginVertical="@dimen/dp_13"/>
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_week"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="@dimen/dp_12"
|
||||
android:layout_gravity="center"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
tools:listitem="@layout/plan_period_item"
|
||||
tools:itemCount="7"
|
||||
app:spanCount="7"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical"
|
||||
android:paddingHorizontal="@dimen/dp_20">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="@dimen/dp_4"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/color_222222"
|
||||
android:text="@string/device_control_start"
|
||||
android:layout_marginVertical="@dimen/dp_13"/>
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="2dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<com.kyleduo.switchbutton.SwitchButton
|
||||
android:id="@+id/switch_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_alignParentRight="true"
|
||||
app:kswThumbColor="@android:color/white"
|
||||
android:checked="true"
|
||||
app:kswBackDrawable="@drawable/switch_bg"
|
||||
app:kswFadeBack="true"/>
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
<com.yanzhenjie.recyclerview.SwipeRecyclerView
|
||||
android:id="@+id/rv_times"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:listitem="@layout/include_plan_time_item_layout"
|
||||
tools:itemCount="3"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_45"
|
||||
android:layout_height="@dimen/dp_45"
|
||||
android:src="@mipmap/icon_add_time"
|
||||
android:layout_marginTop="@dimen/dp_10"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_commit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="14sp"
|
||||
android:textColor="@color/white"
|
||||
android:text="@string/button_save"
|
||||
android:background="@drawable/shape_green_button_bg"
|
||||
android:paddingVertical="@dimen/dp_10"
|
||||
android:layout_marginHorizontal="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_40"
|
||||
android:gravity="center"/>
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
BIN
app/src/main/res/mipmap-xhdpi/icon_add_time.png
Normal file
BIN
app/src/main/res/mipmap-xhdpi/icon_add_time.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/icon_add_time.png
Normal file
BIN
app/src/main/res/mipmap-xxhdpi/icon_add_time.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/icon_add_time.png
Normal file
BIN
app/src/main/res/mipmap-xxxhdpi/icon_add_time.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
Reference in New Issue
Block a user