mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
fill in month days
This commit is contained in:
@ -1,8 +1,6 @@
|
|||||||
package com.simplemobiletools.calendar.activities;
|
package com.simplemobiletools.calendar.activities;
|
||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.graphics.Color;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@ -10,15 +8,12 @@ import android.view.View;
|
|||||||
import android.widget.DatePicker;
|
import android.widget.DatePicker;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.NumberPicker;
|
import android.widget.NumberPicker;
|
||||||
import android.widget.TextView;
|
|
||||||
|
|
||||||
import com.simplemobiletools.calendar.Config;
|
import com.simplemobiletools.calendar.Config;
|
||||||
import com.simplemobiletools.calendar.Constants;
|
import com.simplemobiletools.calendar.Constants;
|
||||||
import com.simplemobiletools.calendar.Formatter;
|
import com.simplemobiletools.calendar.Formatter;
|
||||||
import com.simplemobiletools.calendar.R;
|
import com.simplemobiletools.calendar.R;
|
||||||
import com.simplemobiletools.calendar.Utils;
|
|
||||||
import com.simplemobiletools.calendar.adapters.MyPagerAdapter;
|
import com.simplemobiletools.calendar.adapters.MyPagerAdapter;
|
||||||
import com.simplemobiletools.calendar.models.Day;
|
|
||||||
import com.simplemobiletools.calendar.views.MyViewPager;
|
import com.simplemobiletools.calendar.views.MyViewPager;
|
||||||
|
|
||||||
import org.joda.time.DateTime;
|
import org.joda.time.DateTime;
|
||||||
@ -33,9 +28,6 @@ import butterknife.ButterKnife;
|
|||||||
import butterknife.OnClick;
|
import butterknife.OnClick;
|
||||||
|
|
||||||
public class MainActivity extends SimpleActivity {
|
public class MainActivity extends SimpleActivity {
|
||||||
/*@BindView(R.id.top_left_arrow) ImageView mLeftArrow;
|
|
||||||
@BindView(R.id.top_right_arrow) ImageView mRightArrow;
|
|
||||||
@BindView(R.id.calendar_holder) View mCalendarHolder;*/
|
|
||||||
@BindView(R.id.view_pager) MyViewPager mPager;
|
@BindView(R.id.view_pager) MyViewPager mPager;
|
||||||
|
|
||||||
@BindDimen(R.dimen.day_text_size) float mDayTextSize;
|
@BindDimen(R.dimen.day_text_size) float mDayTextSize;
|
||||||
@ -43,33 +35,12 @@ public class MainActivity extends SimpleActivity {
|
|||||||
|
|
||||||
private static final int PREFILLED_MONTHS = 73;
|
private static final int PREFILLED_MONTHS = 73;
|
||||||
|
|
||||||
private Resources mRes;
|
|
||||||
private String mPackageName;
|
|
||||||
|
|
||||||
private int mTextColor;
|
|
||||||
private int mWeakTextColor;
|
|
||||||
private int mTextColorWithEvent;
|
|
||||||
private int mWeakTextColorWithEvent;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
ButterKnife.bind(this);
|
ButterKnife.bind(this);
|
||||||
|
|
||||||
final int baseColor = mConfig.getIsDarkTheme() ? Color.WHITE : Color.BLACK;
|
|
||||||
mRes = getResources();
|
|
||||||
mTextColor = Utils.adjustAlpha(baseColor, Constants.HIGH_ALPHA);
|
|
||||||
mTextColorWithEvent = Utils.adjustAlpha(mRes.getColor(R.color.colorPrimary), Constants.HIGH_ALPHA);
|
|
||||||
mWeakTextColor = Utils.adjustAlpha(baseColor, Constants.LOW_ALPHA);
|
|
||||||
mWeakTextColorWithEvent = Utils.adjustAlpha(mRes.getColor(R.color.colorPrimary), Constants.LOW_ALPHA);
|
|
||||||
//mLeftArrow.getDrawable().mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP);
|
|
||||||
//mRightArrow.getDrawable().mutate().setColorFilter(mTextColor, PorterDuff.Mode.SRC_ATOP);
|
|
||||||
|
|
||||||
mPackageName = getPackageName();
|
|
||||||
mDayTextSize /= mRes.getDisplayMetrics().density;
|
|
||||||
mTodayTextSize /= mRes.getDisplayMetrics().density;
|
|
||||||
|
|
||||||
final String today = new DateTime().toString(Formatter.DAYCODE_PATTERN);
|
final String today = new DateTime().toString(Formatter.DAYCODE_PATTERN);
|
||||||
final List<String> codes = getMonths(today);
|
final List<String> codes = getMonths(today);
|
||||||
final MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), codes);
|
final MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager(), codes);
|
||||||
@ -121,48 +92,6 @@ public class MainActivity extends SimpleActivity {
|
|||||||
return months;
|
return months;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateDays(List<Day> days) {
|
|
||||||
final int len = days.size();
|
|
||||||
|
|
||||||
for (int i = 0; i < len; i++) {
|
|
||||||
final Day day = days.get(i);
|
|
||||||
final TextView dayTV = (TextView) findViewById(mRes.getIdentifier("day_" + i, "id", mPackageName));
|
|
||||||
if (dayTV == null)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
int curTextColor = day.getHasEvent() ? mWeakTextColorWithEvent : mWeakTextColor;
|
|
||||||
float curTextSize = mDayTextSize;
|
|
||||||
|
|
||||||
if (day.getIsThisMonth()) {
|
|
||||||
curTextColor = day.getHasEvent() ? mTextColorWithEvent : mTextColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (day.getIsToday()) {
|
|
||||||
curTextSize = mTodayTextSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
dayTV.setText(String.valueOf(day.getValue()));
|
|
||||||
dayTV.setTextColor(curTextColor);
|
|
||||||
dayTV.setTextSize(curTextSize);
|
|
||||||
|
|
||||||
dayTV.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
openDay(day.getCode());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void openDay(String code) {
|
|
||||||
if (code.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
final Intent intent = new Intent(getApplicationContext(), DayActivity.class);
|
|
||||||
intent.putExtra(Constants.DAY_CODE, code);
|
|
||||||
startActivity(intent);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*@OnClick(R.id.top_left_arrow)
|
/*@OnClick(R.id.top_left_arrow)
|
||||||
public void leftArrowClicked() {
|
public void leftArrowClicked() {
|
||||||
mCalendar.getPrevMonth();
|
mCalendar.getPrevMonth();
|
||||||
@ -205,5 +134,4 @@ public class MainActivity extends SimpleActivity {
|
|||||||
final NumberPicker dayPicker = (picker1.getMaxValue() > picker2.getMaxValue()) ? picker1 : picker2;
|
final NumberPicker dayPicker = (picker1.getMaxValue() > picker2.getMaxValue()) ? picker1 : picker2;
|
||||||
dayPicker.setVisibility(View.GONE);
|
dayPicker.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
package com.simplemobiletools.calendar.fragments;
|
package com.simplemobiletools.calendar.fragments;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
import android.graphics.PorterDuff;
|
import android.graphics.PorterDuff;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -18,6 +20,7 @@ import com.simplemobiletools.calendar.Constants;
|
|||||||
import com.simplemobiletools.calendar.Formatter;
|
import com.simplemobiletools.calendar.Formatter;
|
||||||
import com.simplemobiletools.calendar.R;
|
import com.simplemobiletools.calendar.R;
|
||||||
import com.simplemobiletools.calendar.Utils;
|
import com.simplemobiletools.calendar.Utils;
|
||||||
|
import com.simplemobiletools.calendar.activities.DayActivity;
|
||||||
import com.simplemobiletools.calendar.models.Day;
|
import com.simplemobiletools.calendar.models.Day;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -41,6 +44,7 @@ public class MonthFragment extends Fragment implements Calendar {
|
|||||||
private String mPackageName;
|
private String mPackageName;
|
||||||
private Config mConfig;
|
private Config mConfig;
|
||||||
|
|
||||||
|
private String mCode;
|
||||||
private int mTextColor;
|
private int mTextColor;
|
||||||
private int mWeakTextColor;
|
private int mWeakTextColor;
|
||||||
private int mTextColorWithEvent;
|
private int mTextColorWithEvent;
|
||||||
@ -51,23 +55,29 @@ public class MonthFragment extends Fragment implements Calendar {
|
|||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||||
mView = inflater.inflate(R.layout.calendar_layout, container, false);
|
mView = inflater.inflate(R.layout.calendar_layout, container, false);
|
||||||
ButterKnife.bind(this, mView);
|
ButterKnife.bind(this, mView);
|
||||||
|
mRes = getResources();
|
||||||
|
|
||||||
final String code = getArguments().getString(Constants.DAY_CODE);
|
mCode = getArguments().getString(Constants.DAY_CODE);
|
||||||
mCalendar = new CalendarImpl(this, getContext());
|
|
||||||
mCalendar.updateCalendar(Formatter.getDateTimeFromCode(code));
|
|
||||||
mConfig = Config.newInstance(getContext());
|
mConfig = Config.newInstance(getContext());
|
||||||
mSundayFirst = mConfig.getIsSundayFirst();
|
mSundayFirst = mConfig.getIsSundayFirst();
|
||||||
|
|
||||||
mRes = getResources();
|
|
||||||
setupColors();
|
setupColors();
|
||||||
|
|
||||||
mPackageName = getActivity().getPackageName();
|
mPackageName = getActivity().getPackageName();
|
||||||
mDayTextSize /= mRes.getDisplayMetrics().density;
|
mDayTextSize /= mRes.getDisplayMetrics().density;
|
||||||
|
mTodayTextSize /= mRes.getDisplayMetrics().density;
|
||||||
setupLabels();
|
setupLabels();
|
||||||
|
|
||||||
return mView;
|
return mView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||||
|
super.onViewCreated(view, savedInstanceState);
|
||||||
|
mCalendar = new CalendarImpl(this, getContext());
|
||||||
|
mCalendar.updateCalendar(Formatter.getDateTimeFromCode(mCode));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
@ -80,6 +90,7 @@ public class MonthFragment extends Fragment implements Calendar {
|
|||||||
@Override
|
@Override
|
||||||
public void updateCalendar(String month, List<Day> days) {
|
public void updateCalendar(String month, List<Day> days) {
|
||||||
mMonthTV.setText(month);
|
mMonthTV.setText(month);
|
||||||
|
updateDays(days);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setupColors() {
|
private void setupColors() {
|
||||||
@ -119,4 +130,46 @@ public class MonthFragment extends Fragment implements Calendar {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateDays(List<Day> days) {
|
||||||
|
final int len = days.size();
|
||||||
|
|
||||||
|
for (int i = 0; i < len; i++) {
|
||||||
|
final Day day = days.get(i);
|
||||||
|
final TextView dayTV = (TextView) mView.findViewById(mRes.getIdentifier("day_" + i, "id", mPackageName));
|
||||||
|
if (dayTV == null)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
int curTextColor = day.getHasEvent() ? mWeakTextColorWithEvent : mWeakTextColor;
|
||||||
|
float curTextSize = mDayTextSize;
|
||||||
|
|
||||||
|
if (day.getIsThisMonth()) {
|
||||||
|
curTextColor = day.getHasEvent() ? mTextColorWithEvent : mTextColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (day.getIsToday()) {
|
||||||
|
curTextSize = mTodayTextSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
dayTV.setText(String.valueOf(day.getValue()));
|
||||||
|
dayTV.setTextColor(curTextColor);
|
||||||
|
dayTV.setTextSize(curTextSize);
|
||||||
|
|
||||||
|
dayTV.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
openDay(day.getCode());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void openDay(String code) {
|
||||||
|
if (code.isEmpty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
final Intent intent = new Intent(getContext(), DayActivity.class);
|
||||||
|
intent.putExtra(Constants.DAY_CODE, code);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user