Skip to content

Commit 8a719e8

Browse files
committed
Small bugs fixed
1 parent db84d00 commit 8a719e8

File tree

3 files changed

+19
-18
lines changed

3 files changed

+19
-18
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION_NAME=1.1.1
1+
VERSION_NAME=1.1.2
22
GROUP=com.github.alamkanak
33

44
POM_DESCRIPTION=Dissect layout traversals on Android.

library/src/main/java/com/alamkanak/weekview/WeekView.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ protected void onDraw(Canvas canvas) {
313313
canvas.drawRect(0, 0, mTimeTextWidth + mHeaderColumnPadding * 2, mHeaderTextHeight + mHeaderRowPadding * 2, mHeaderBackgroundPaint);
314314

315315
// Hide anything that is in the bottom margin of the header row.
316-
canvas.drawRect(mHeaderColumnWidth, mHeaderTextHeight + mHeaderRowPadding * 2, getWidth(), mHeaderRowPadding * 2 + mHeaderTextHeight + mHeaderMarginBottom + mTimeTextHeight/2, mHeaderColumnBackgroundPaint);
316+
canvas.drawRect(mHeaderColumnWidth, mHeaderTextHeight + mHeaderRowPadding * 2, getWidth(), mHeaderRowPadding * 2 + mHeaderTextHeight + mHeaderMarginBottom + mTimeTextHeight/2 - mHourSeparatorHeight / 2, mHeaderColumnBackgroundPaint);
317317
}
318318

319319
private void drawTimeColumnAndAxes(Canvas canvas) {
@@ -393,7 +393,8 @@ private void drawHeaderRowAndEvents(Canvas canvas) {
393393

394394
// Draw background color for each day.
395395
float start = (startPixel < mHeaderColumnWidth ? mHeaderColumnWidth : startPixel);
396-
if (mWidthPerDay + startPixel - start> 0) canvas.drawRect(start, mHeaderTextHeight + mHeaderRowPadding * 2 + mTimeTextHeight/2 + mHeaderMarginBottom, startPixel + mWidthPerDay, getHeight(), sameDay ? mTodayBackgroundPaint : mDayBackgroundPaint);
396+
if (mWidthPerDay + startPixel - start> 0)
397+
canvas.drawRect(start, mHeaderTextHeight + mHeaderRowPadding * 2 + mTimeTextHeight/2 + mHeaderMarginBottom, startPixel + mWidthPerDay, getHeight(), sameDay ? mTodayBackgroundPaint : mDayBackgroundPaint);
397398

398399
// Prepare the separator lines for hours.
399400
int i = 0;
@@ -498,26 +499,26 @@ private void drawText(String text, RectF rect, Canvas canvas, float originalTop,
498499
if (rect.right - rect.left - mEventPadding * 2 < 0) return;
499500

500501
// Get text dimensions
501-
StaticLayout mTextLayout = new StaticLayout(text, mEventTextPaint, (int) (rect.right - originalLeft - mEventPadding * 2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
502+
StaticLayout textLayout = new StaticLayout(text, mEventTextPaint, (int) (rect.right - originalLeft - mEventPadding * 2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
502503

503504
// Crop height
504505
int availableHeight = (int) (rect.bottom - originalTop - mEventPadding * 2);
505-
int lineHeight = mTextLayout.getHeight() / mTextLayout.getLineCount();
506-
if (lineHeight < availableHeight && mTextLayout.getHeight() > rect.height() - mEventPadding * 2) {
507-
int lineCount = mTextLayout.getLineCount();
508-
int availableLineCount = (int) Math.floor(lineCount * availableHeight / mTextLayout.getHeight());
506+
int lineHeight = textLayout.getHeight() / textLayout.getLineCount();
507+
if (lineHeight < availableHeight && textLayout.getHeight() > rect.height() - mEventPadding * 2) {
508+
int lineCount = textLayout.getLineCount();
509+
int availableLineCount = (int) Math.floor(lineCount * availableHeight / textLayout.getHeight());
509510
float widthAvailable = (rect.right - originalLeft - mEventPadding * 2) * availableLineCount;
510-
mTextLayout = new StaticLayout(TextUtils.ellipsize(text, mEventTextPaint, widthAvailable, TextUtils.TruncateAt.END), mEventTextPaint, (int) (rect.right - originalLeft - mEventPadding * 2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
511+
textLayout = new StaticLayout(TextUtils.ellipsize(text, mEventTextPaint, widthAvailable, TextUtils.TruncateAt.END), mEventTextPaint, (int) (rect.right - originalLeft - mEventPadding * 2), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
511512
}
512513
else if (lineHeight >= availableHeight) {
513514
int width = (int) (rect.right - originalLeft - mEventPadding * 2);
514-
mTextLayout = new StaticLayout(TextUtils.ellipsize(text, mEventTextPaint, width, TextUtils.TruncateAt.END), mEventTextPaint, width, Layout.Alignment.ALIGN_NORMAL, 1.0f, 1.0f, false);
515+
textLayout = new StaticLayout(TextUtils.ellipsize(text, mEventTextPaint, width, TextUtils.TruncateAt.END), mEventTextPaint, width, Layout.Alignment.ALIGN_NORMAL, 1.0f, 1.0f, false);
515516
}
516517

517518
// Draw text
518519
canvas.save();
519520
canvas.translate(originalLeft + mEventPadding, originalTop + mEventPadding);
520-
mTextLayout.draw(canvas);
521+
textLayout.draw(canvas);
521522
canvas.restore();
522523
}
523524

sample/src/main/java/com/alamkanak/weekview/sample/MainActivity.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ public List<WeekViewEvent> onMonthChange(int newYear, int newMonth) {
127127
startTime.set(Calendar.MONTH, newMonth-1);
128128
startTime.set(Calendar.YEAR, newYear);
129129
endTime = (Calendar) startTime.clone();
130-
endTime.set(Calendar.HOUR, 4);
130+
endTime.set(Calendar.HOUR_OF_DAY, 4);
131131
endTime.set(Calendar.MINUTE, 30);
132132
endTime.set(Calendar.MONTH, newMonth-1);
133133
event = new WeekViewEvent(10, getEventTitle(startTime), startTime, endTime);
@@ -140,7 +140,7 @@ public List<WeekViewEvent> onMonthChange(int newYear, int newMonth) {
140140
startTime.set(Calendar.MONTH, newMonth-1);
141141
startTime.set(Calendar.YEAR, newYear);
142142
endTime = (Calendar) startTime.clone();
143-
endTime.set(Calendar.HOUR, 5);
143+
endTime.set(Calendar.HOUR_OF_DAY, 5);
144144
endTime.set(Calendar.MINUTE, 0);
145145
event = new WeekViewEvent(10, getEventTitle(startTime), startTime, endTime);
146146
event.setColor(getResources().getColor(R.color.event_color_03));
@@ -152,7 +152,7 @@ public List<WeekViewEvent> onMonthChange(int newYear, int newMonth) {
152152
startTime.set(Calendar.MONTH, newMonth-1);
153153
startTime.set(Calendar.YEAR, newYear);
154154
endTime = (Calendar) startTime.clone();
155-
endTime.add(Calendar.HOUR, 2);
155+
endTime.add(Calendar.HOUR_OF_DAY, 2);
156156
endTime.set(Calendar.MONTH, newMonth-1);
157157
event = new WeekViewEvent(2, getEventTitle(startTime), startTime, endTime);
158158
event.setColor(getResources().getColor(R.color.event_color_02));
@@ -165,7 +165,7 @@ public List<WeekViewEvent> onMonthChange(int newYear, int newMonth) {
165165
startTime.set(Calendar.YEAR, newYear);
166166
startTime.add(Calendar.DATE, 1);
167167
endTime = (Calendar) startTime.clone();
168-
endTime.add(Calendar.HOUR, 3);
168+
endTime.add(Calendar.HOUR_OF_DAY, 3);
169169
endTime.set(Calendar.MONTH, newMonth - 1);
170170
event = new WeekViewEvent(3, getEventTitle(startTime), startTime, endTime);
171171
event.setColor(getResources().getColor(R.color.event_color_03));
@@ -178,7 +178,7 @@ public List<WeekViewEvent> onMonthChange(int newYear, int newMonth) {
178178
startTime.set(Calendar.MONTH, newMonth-1);
179179
startTime.set(Calendar.YEAR, newYear);
180180
endTime = (Calendar) startTime.clone();
181-
endTime.add(Calendar.HOUR, 3);
181+
endTime.add(Calendar.HOUR_OF_DAY, 3);
182182
event = new WeekViewEvent(4, getEventTitle(startTime), startTime, endTime);
183183
event.setColor(getResources().getColor(R.color.event_color_04));
184184
events.add(event);
@@ -190,7 +190,7 @@ public List<WeekViewEvent> onMonthChange(int newYear, int newMonth) {
190190
startTime.set(Calendar.MONTH, newMonth-1);
191191
startTime.set(Calendar.YEAR, newYear);
192192
endTime = (Calendar) startTime.clone();
193-
endTime.add(Calendar.HOUR, 3);
193+
endTime.add(Calendar.HOUR_OF_DAY, 3);
194194
event = new WeekViewEvent(5, getEventTitle(startTime), startTime, endTime);
195195
event.setColor(getResources().getColor(R.color.event_color_01));
196196
events.add(event);
@@ -202,7 +202,7 @@ public List<WeekViewEvent> onMonthChange(int newYear, int newMonth) {
202202
startTime.set(Calendar.MONTH, newMonth-1);
203203
startTime.set(Calendar.YEAR, newYear);
204204
endTime = (Calendar) startTime.clone();
205-
endTime.add(Calendar.HOUR, 3);
205+
endTime.add(Calendar.HOUR_OF_DAY, 3);
206206
event = new WeekViewEvent(5, getEventTitle(startTime), startTime, endTime);
207207
event.setColor(getResources().getColor(R.color.event_color_02));
208208
events.add(event);

0 commit comments

Comments
 (0)