Calendar slide

/////////////////////////////////////// Code

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) {
{the try
ComitTimeUp (DATE2);
} the catch (a ParseException E) {
e.printStackTrace ();
}
IF (.. tvYearMonthSet.getText () toString () the equals ( "2012-10")) {
mIvRightClick.setVisibility (View.GONE );
}
}
});
}

Private String ComitTimeDown (a Date date1) {throws a ParseException
the SimpleDateFormat new new DF = the SimpleDateFormat ( "the MM-YYYY");
a Date DATE = df.parse (tvYearMonthSet.getText () toString ());.
/ / 1 start time end time is less than 2 the same start time and end time is greater than the start time end time 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 (a Date DATE2) {throws a ParseException
the SimpleDateFormat new new DF = the SimpleDateFormat ( "the MM-YYYY");
a Date DATE = df.parse (tvYearMonthSet.getText () toString ().);
// start time is less than the end time. 1 2 start time and end time is larger than the same time as the start time of the end 3
IF (date.getTime ()> date2.getTime ()) {
// start time end time is less than
mIvRightClick.setVisibility (View.GONE);
mIvLeftClick.setVisibility (View.VISIBLE);
return null;
} the else IF (date.getTime () == date2.getTime ()) {
// start time and end same time
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>

Guess you like

Origin www.cnblogs.com/sunjian43792901/p/11989354.html