Skip to content

Commit 81e34d1

Browse files
committed
Set text alignment for RTL separately for Headers
1 parent 3ff4430 commit 81e34d1

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

core/src/main/java/com/alamkanak/weekview/HeaderRenderer.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import android.graphics.Paint
66
import android.graphics.Rect
77
import android.graphics.RectF
88
import android.graphics.drawable.Drawable
9+
import android.text.Layout
910
import android.text.StaticLayout
1011
import android.text.TextPaint
1112
import android.util.SparseArray
@@ -127,7 +128,8 @@ private class HeaderUpdater(
127128
date.isWeekend -> viewState.weekendHeaderTextPaint
128129
else -> viewState.headerTextPaint
129130
}
130-
return dayLabel.toTextLayout(textPaint = textPaint, width = viewState.dayWidth.toInt())
131+
val alignment = if (viewState.isLtr) Layout.Alignment.ALIGN_NORMAL else Layout.Alignment.ALIGN_CENTER
132+
return dayLabel.toTextLayout(textPaint = textPaint, width = viewState.dayWidth.toInt(), alignment = alignment)
131133
}
132134

133135
private fun <E> SparseArray<E>.hasKey(key: Int): Boolean = indexOfKey(key) >= 0

core/src/main/java/com/alamkanak/weekview/ViewState.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,18 @@ internal class ViewState(var isLtr: Boolean = true) {
103103
textAlign = if (isLtr) Paint.Align.RIGHT else Paint.Align.LEFT
104104
}
105105

106+
private val headerTextAlign = if (isLtr) Paint.Align.CENTER else Paint.Align.RIGHT
107+
106108
val headerTextPaint = TextPaint(Paint.ANTI_ALIAS_FLAG).apply {
107-
textAlign = Paint.Align.CENTER
109+
textAlign = headerTextAlign
108110
}
109111

110112
val todayHeaderTextPaint = TextPaint(Paint.ANTI_ALIAS_FLAG).apply {
111-
textAlign = Paint.Align.CENTER
113+
textAlign = headerTextAlign
112114
}
113115

114116
val weekendHeaderTextPaint = TextPaint(Paint.ANTI_ALIAS_FLAG).apply {
115-
textAlign = Paint.Align.CENTER
117+
textAlign = headerTextAlign
116118
}
117119

118120
val headerBottomLinePaint = Paint()

0 commit comments

Comments
 (0)