android-times-square

2014-01-19T00:00:00+00:00 Android Java

CalendarっぽいViewなのでhttps://github.com/square/android-times-squareっていうのがある模様。ってな訳でちょいと使ってみた

レイアウトはドキュメントに書いてる通りで

<com.squareup.timessquare.CalendarPickerView
    android:id="@+id/calendar_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

だけを単純につけただけ

MainActivity.java

package sample.test;

import java.util.Date;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;

import com.squareup.timessquare.CalendarPickerView;

import org.joda.time.DateTime;


public class MainActivity extends Activity implements
    CalendarPickerView.OnDateSelectedListener,
    CalendarPickerView.OnInvalidDateSelectedListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        DateTime today = DateTime.now();

        CalendarPickerView calendar = (CalendarPickerView)findViewById(R.id.calendar_view);
        calendar.setOnDateSelectedListener(this);
        calendar.setOnInvalidDateSelectedListener(this);

        calendar
            .init(
                today.toDate(),
                today.plusWeeks(1).toDate()
            )
            .inMode(CalendarPickerView.SelectionMode.MULTIPLE);
    }

    @Override
    public void onDateSelected(Date date) {
        Toast.makeText(this, "OK(Selected): " + date.toString(), Toast.LENGTH_LONG).show();
    }

    // inMode(SelectionMode.MULTIPLE)等?において日付選択が解除された場合に発生する
    @Override
    public void onDateUnselected(Date date) {
        Toast.makeText(this, "OK(Unselected): " + date.toString(), Toast.LENGTH_LONG).show();
    }

    // initで指定した範囲以外の日付をタップした場合等に発生
    @Override
    public void onInvalidDateSelected(Date date) {
        Toast.makeText(this, "NG: " + date.toString(), Toast.LENGTH_LONG).show();
    }
}

てな感じにすると

てな感じのビューになると。単純にそういうのを必要とするようなケースであれば非常に有用に使えるのではという印象(UIデザインとかそこはおいといて)

Android ImageView Library?のPicassoが使えるんじゃないかって件 gradle-android-test-plugin