时间日历滑动

///////////////////////////////////////代码

package com.example.administrator.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

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

public class MainActivity extends AppCompatActivity {
private Date date1;
private Date date2;
/**
* 左面点击
*/
TextView mIvLeftClick;

/**
* 右面点击
*/
TextView mIvRightClick;
/**
* 年月
*/
TextView tvYearMonthSet;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvYearMonthSet = findViewById(R.id.tv_year_month_set);
mIvLeftClick = findViewById(R.id.iv_left_click);
mIvRightClick = findViewById(R.id.iv_right_click);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");
try {
date1 = dateFormat.parse("2012-01");//最小时间(日历起始时间)
date2 = dateFormat.parse("2012-10");//最大时间
} catch (ParseException e) {
e.printStackTrace();
}
//时间左面点击
mIvLeftClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
ComitTimeDown(date1);
} catch (ParseException e) {
e.printStackTrace();
}
if (tvYearMonthSet.getText().toString().equals("2012-01")) {
mIvLeftClick.setVisibility(View.GONE);
}
}
});
//时间右面点击
mIvRightClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
ComitTimeUp( date2);
} catch (ParseException e) {
e.printStackTrace();
}
if (tvYearMonthSet.getText().toString().equals("2012-10")) {
mIvRightClick.setVisibility(View.GONE);
}
}
});
}

private String ComitTimeDown( Date date1) throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM");
Date date = df.parse(tvYearMonthSet.getText().toString());
// 1 结束时间小于开始时间 2 开始时间与结束时间相同 3 结束时间大于开始时间
if (date.getTime() < date1.getTime()) {
//结束时间小于开始时间
mIvLeftClick.setVisibility(View.GONE);
mIvRightClick.setVisibility(View.VISIBLE);
return null;
} else if (date.getTime() == date1.getTime()) {
//开始时间与结束时间相同
mIvLeftClick.setVisibility(View.GONE);
mIvRightClick.setVisibility(View.VISIBLE);
return null;
} else if (date.getTime() > date1.getTime()) {
mIvLeftClick.setVisibility(View.VISIBLE);
mIvRightClick.setVisibility(View.VISIBLE);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, -1);
tvYearMonthSet.setText(df.format(calendar.getTime()));
}
return null;
}

private String ComitTimeUp( Date date2) throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM");
Date date = df.parse(tvYearMonthSet.getText().toString());
// 1 结束时间小于开始时间 2 开始时间与结束时间相同 3 结束时间大于开始时间
if (date.getTime() > date2.getTime()) {
//结束时间小于开始时间
mIvRightClick.setVisibility(View.GONE);
mIvLeftClick.setVisibility(View.VISIBLE);
return null;
} else if (date.getTime() == date2.getTime()) {
//开始时间与结束时间相同
mIvRightClick.setVisibility(View.GONE);
mIvLeftClick.setVisibility(View.VISIBLE);
return null;
} else if (date.getTime() < date2.getTime()) {
mIvRightClick.setVisibility(View.VISIBLE);
mIvLeftClick.setVisibility(View.VISIBLE);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, +1);
tvYearMonthSet.setText(df.format(calendar.getTime()));
}
return null;
}

}
//////////////////////////////////////样式
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="64dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:orientation="horizontal"
android:paddingBottom="8dp"
android:paddingTop="8dp">

<LinearLayout
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_gravity="center_vertical"
android:layout_weight="1">

<TextView
android:id="@+id/iv_left_click"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:text="左" />
</LinearLayout>

<TextView
android:id="@+id/tv_year_month_set"
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_weight="2"
android:text="2012-09"
android:gravity="center" />

<LinearLayout
android:layout_width="0dp"
android:layout_height="48dp"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:gravity="end">

<TextView
android:id="@+id/iv_right_click"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
android:text="右" />
</LinearLayout>
</LinearLayout>

</LinearLayout>

猜你喜欢

转载自www.cnblogs.com/sunjian43792901/p/11989354.html
今日推荐