|
|
@@ -0,0 +1,258 @@
|
|
|
+package com.silence.commonframe.activity;
|
|
|
+
|
|
|
+import android.content.Intent;
|
|
|
+import android.graphics.Color;
|
|
|
+import android.os.Build;
|
|
|
+import android.os.Bundle;
|
|
|
+import android.support.v7.app.AppCompatActivity;
|
|
|
+import android.view.View;
|
|
|
+import android.view.Window;
|
|
|
+import android.view.WindowManager;
|
|
|
+import android.widget.FrameLayout;
|
|
|
+import android.widget.TextView;
|
|
|
+import android.widget.Toast;
|
|
|
+
|
|
|
+import com.silence.commonframe.R;
|
|
|
+import com.silence.commonframe.adapter.MyWheelAdapter;
|
|
|
+import com.silence.commonframe.utils.AtyContainer;
|
|
|
+import com.wx.wheelview.widget.WheelView;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+
|
|
|
+import butterknife.BindView;
|
|
|
+import butterknife.ButterKnife;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 空气卫士-新建时间段
|
|
|
+ * @author 郑嘉明
|
|
|
+ * start_time_hour、start_time_minute、end_time_hour、end_time_minute、wind_speed_level(风速等级)、wind_speed_reduce(降低风速)、wind_speed_increase(提高风速)
|
|
|
+ */
|
|
|
+public class AirGuardNewTimeActivity extends AppCompatActivity {
|
|
|
+
|
|
|
+ public static int WHEEL_SIZE = 5; //显示的滚动的数量
|
|
|
+ public static int WIND_SPEED_HIGN = 20; //最高风速
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导航栏信息
|
|
|
+ * back_pic、navi_head_back_text(透明)、navi_head_text、navi_head_text_right(右侧文字)、navi_head_img_right(右侧图片)
|
|
|
+ */
|
|
|
+ @BindView(R.id.navi_head_text)
|
|
|
+ TextView navi_head_text; //标题
|
|
|
+ @BindView(R.id.navi_head_text_right)
|
|
|
+ TextView navi_head_text_right;
|
|
|
+
|
|
|
+ @BindView(R.id.start_time_hour)
|
|
|
+ WheelView<String> start_time_hour; //开始时间-小时
|
|
|
+ @BindView(R.id.start_time_minute)
|
|
|
+ WheelView<String> start_time_minute; //开始时间-分钟
|
|
|
+ @BindView(R.id.end_time_hout)
|
|
|
+ WheelView<String> end_time_hour; //结束时间-小时
|
|
|
+ @BindView(R.id.end_time_minute)
|
|
|
+ WheelView<String> end_time_minute; //结束时间-分钟
|
|
|
+
|
|
|
+ @BindView(R.id.wind_speed_level)
|
|
|
+ TextView wind_speed_level; //风速等级
|
|
|
+ @BindView(R.id.wind_speed_reduce)
|
|
|
+ FrameLayout wind_speed_reduce; //降低风速
|
|
|
+ @BindView(R.id.wind_speed_increase)
|
|
|
+ FrameLayout wind_speed_increase; //提高风速
|
|
|
+
|
|
|
+ private String start_time;
|
|
|
+ private String end_time;
|
|
|
+
|
|
|
+ private int wind_speed = 0;
|
|
|
+ private String type;
|
|
|
+
|
|
|
+ private Intent intent;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void onCreate(Bundle savedInstanceState) {
|
|
|
+ super.onCreate(savedInstanceState);
|
|
|
+ setContentView(R.layout.activity_air_guard_new_time);
|
|
|
+ ButterKnife.bind(this);
|
|
|
+ AtyContainer.getInstance().addActivity(this);
|
|
|
+ navi_head_text.setText(R.string.airguard_newtime); //设置标题
|
|
|
+ navi_head_text_right.setText(R.string.sure); //设置导航右侧文字
|
|
|
+ //设置全屏
|
|
|
+ initWindows();
|
|
|
+
|
|
|
+ //设置滚动时间控件的属性
|
|
|
+ initTimeWheel();
|
|
|
+
|
|
|
+ intent = getIntent();
|
|
|
+ wind_speed = intent.getIntExtra("wind_speed",0);
|
|
|
+ wind_speed_level.setText(String.valueOf(wind_speed));
|
|
|
+
|
|
|
+ type = intent.getStringExtra("type");
|
|
|
+
|
|
|
+ wind_speed_increase.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if (wind_speed < WIND_SPEED_HIGN){
|
|
|
+ wind_speed++;
|
|
|
+ }
|
|
|
+ wind_speed_level.setText(String.valueOf(wind_speed));
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ wind_speed_reduce.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if (wind_speed > 0){
|
|
|
+ wind_speed--;
|
|
|
+ }
|
|
|
+ wind_speed_level.setText(String.valueOf(wind_speed));
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ //确定点击事件
|
|
|
+ sureToAddTime();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 确定添加时间事件
|
|
|
+ */
|
|
|
+ private void sureToAddTime() {
|
|
|
+ navi_head_text_right.setOnClickListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ Object start_hour = start_time_hour.getSelectionItem();
|
|
|
+ Object start_min = start_time_minute.getSelectionItem();
|
|
|
+ Object end_hour = end_time_hour.getSelectionItem();
|
|
|
+ Object end_min = end_time_minute.getSelectionItem();
|
|
|
+ int start_hour2 = Integer.valueOf(String.valueOf(start_hour));
|
|
|
+ int start_min2 = Integer.valueOf(String.valueOf(start_min));
|
|
|
+ int end_hour2 = Integer.valueOf(String.valueOf(end_hour));
|
|
|
+ int end_min2 = Integer.valueOf(String.valueOf(end_min));
|
|
|
+
|
|
|
+ if (start_hour2 > end_hour2 || ((start_hour2 == end_hour2 ) && start_min2 >= end_min2 )){
|
|
|
+ Toast.makeText(AirGuardNewTimeActivity.this,getResources().getString(R.string.airguard_tips_starttime_morethan_endtime),Toast.LENGTH_SHORT).show();
|
|
|
+ //重置时间
|
|
|
+ start_time_hour.setSelection(0);
|
|
|
+ start_time_minute.setSelection(0);
|
|
|
+ end_time_hour.setSelection(12);
|
|
|
+ end_time_minute.setSelection(0);
|
|
|
+ }else {
|
|
|
+ ArrayList<String> listHour;
|
|
|
+ ArrayList<String> listMin;
|
|
|
+ listHour = getHourData();
|
|
|
+ listMin = getMinuteData();
|
|
|
+ start_time = listHour.get(start_hour2) + ":" + listMin.get(start_min2);
|
|
|
+ end_time = listHour.get(end_hour2) + ":" +listMin.get(end_min2);
|
|
|
+
|
|
|
+ String work_time = start_time + "-" + end_time;
|
|
|
+ Intent intent_result = new Intent();
|
|
|
+ intent_result.putExtra("worktime",work_time);
|
|
|
+ intent_result.putExtra("wind_speed",wind_speed);
|
|
|
+ if ("add".equals(type)){
|
|
|
+ setResult(222,intent_result);
|
|
|
+ finish();
|
|
|
+ }else if ("update".equals(type)){
|
|
|
+ intent_result.putExtra("position",intent.getIntExtra("position",-1));
|
|
|
+ setResult(333,intent_result);
|
|
|
+ finish();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 初始化时间选择的属性
|
|
|
+ */
|
|
|
+ private void initTimeWheel() {
|
|
|
+ WheelView.WheelViewStyle wheelViewStyle = new WheelView.WheelViewStyle();
|
|
|
+ wheelViewStyle.selectedTextColor = Color.parseColor("#444444"); //选中字体颜色
|
|
|
+ wheelViewStyle.textColor = Color.parseColor("#444444"); //未选中字体颜色
|
|
|
+ wheelViewStyle.backgroundColor = Color.parseColor("#00000000");
|
|
|
+ wheelViewStyle.textAlpha = 0.3f;
|
|
|
+ start_time_hour.setStyle(wheelViewStyle);
|
|
|
+ start_time_minute.setStyle(wheelViewStyle);
|
|
|
+ end_time_hour.setStyle(wheelViewStyle);
|
|
|
+ end_time_minute.setStyle(wheelViewStyle);
|
|
|
+ start_time_hour.setLoop(true);
|
|
|
+ start_time_minute.setLoop(true);
|
|
|
+ end_time_hour.setLoop(true);
|
|
|
+ end_time_minute.setLoop(true);
|
|
|
+ start_time_hour.setWheelSize(WHEEL_SIZE);
|
|
|
+ start_time_minute.setWheelSize(WHEEL_SIZE);
|
|
|
+ end_time_hour.setWheelSize(WHEEL_SIZE);
|
|
|
+ end_time_minute.setWheelSize(WHEEL_SIZE);
|
|
|
+
|
|
|
+ //开始时间
|
|
|
+ start_time_hour.setWheelAdapter(new MyWheelAdapter(AirGuardNewTimeActivity.this));
|
|
|
+ start_time_hour.setWheelData(getHourData());
|
|
|
+ start_time_hour.setSelection(0);
|
|
|
+ start_time_minute.setWheelAdapter(new MyWheelAdapter(AirGuardNewTimeActivity.this));
|
|
|
+ start_time_minute.setWheelData(getMinuteData());
|
|
|
+ start_time_minute.setSelection(0);
|
|
|
+
|
|
|
+ //结束时间
|
|
|
+ MyWheelAdapter myWheelAdapter3 = new MyWheelAdapter(AirGuardNewTimeActivity.this);
|
|
|
+ end_time_hour.setWheelAdapter(myWheelAdapter3);
|
|
|
+ end_time_hour.setWheelData(getHourData());
|
|
|
+ end_time_hour.setSelection(12);
|
|
|
+ end_time_minute.setWheelAdapter(new MyWheelAdapter(AirGuardNewTimeActivity.this));
|
|
|
+ end_time_minute.setWheelData(getMinuteData());
|
|
|
+ end_time_minute.setSelection(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取小时
|
|
|
+ * @return listHour
|
|
|
+ */
|
|
|
+ private ArrayList<String> getHourData(){
|
|
|
+ ArrayList<String> listHour = new ArrayList<>();
|
|
|
+ for (int i = 0 ; i < 24; i++){
|
|
|
+ String hour = String.valueOf(i);
|
|
|
+ if (i < 10){
|
|
|
+ listHour.add("0" + hour);
|
|
|
+ }else {
|
|
|
+ listHour.add(hour);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return listHour;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取分钟
|
|
|
+ * @return listMin
|
|
|
+ */
|
|
|
+ private ArrayList<String> getMinuteData(){
|
|
|
+ ArrayList<String> listMin = new ArrayList<>();
|
|
|
+ for (int i = 0 ; i < 60; i++){
|
|
|
+ String min = String.valueOf(i);
|
|
|
+ if (i < 10){
|
|
|
+ listMin.add("0" + min);
|
|
|
+ }else {
|
|
|
+ listMin.add(min);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return listMin;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 页面全屏
|
|
|
+ */
|
|
|
+ private void initWindows() {
|
|
|
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
|
|
+ Window window = getWindow();
|
|
|
+ window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS
|
|
|
+ | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
|
|
|
+ window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
|
|
+ | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
|
|
|
+ window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
|
|
+ window.setStatusBarColor(Color.TRANSPARENT);
|
|
|
+ window.setNavigationBarColor(Color.BLACK);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回按钮
|
|
|
+ */
|
|
|
+ public void click_back(View view) {
|
|
|
+ finish();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|