mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-06-05 21:59:17 +02:00
update the top day letters at scaling the weekly view too
This commit is contained in:
@ -25,6 +25,7 @@ import com.simplemobiletools.calendar.pro.views.MyScrollView
|
|||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.DAY_SECONDS
|
import com.simplemobiletools.commons.helpers.DAY_SECONDS
|
||||||
import com.simplemobiletools.commons.helpers.WEEK_SECONDS
|
import com.simplemobiletools.commons.helpers.WEEK_SECONDS
|
||||||
|
import com.simplemobiletools.commons.views.MyTextView
|
||||||
import kotlinx.android.synthetic.main.fragment_week.*
|
import kotlinx.android.synthetic.main.fragment_week.*
|
||||||
import kotlinx.android.synthetic.main.fragment_week.view.*
|
import kotlinx.android.synthetic.main.fragment_week.view.*
|
||||||
import org.joda.time.DateTime
|
import org.joda.time.DateTime
|
||||||
@ -181,11 +182,12 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
addEvents(currEvents)
|
addEvents(currEvents)
|
||||||
|
setupDayLabels()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addDayColumns() {
|
private fun addDayColumns() {
|
||||||
mView.week_events_columns_holder.removeAllViews()
|
mView.week_events_columns_holder.removeAllViews()
|
||||||
(0 until context!!.config.weeklyViewDays).forEach {
|
(0 until config.weeklyViewDays).forEach {
|
||||||
val column = inflater.inflate(R.layout.weekly_view_day_column, mView.week_events_columns_holder, false) as RelativeLayout
|
val column = inflater.inflate(R.layout.weekly_view_day_column, mView.week_events_columns_holder, false) as RelativeLayout
|
||||||
column.tag = Formatter.getDayCodeFromTS(weekTimestamp + it * DAY_SECONDS)
|
column.tag = Formatter.getDayCodeFromTS(weekTimestamp + it * DAY_SECONDS)
|
||||||
mView.week_events_columns_holder.addView(column)
|
mView.week_events_columns_holder.addView(column)
|
||||||
@ -197,18 +199,20 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
|||||||
var curDay = Formatter.getDateTimeFromTS(weekTimestamp)
|
var curDay = Formatter.getDateTimeFromTS(weekTimestamp)
|
||||||
val textColor = config.textColor
|
val textColor = config.textColor
|
||||||
val todayCode = Formatter.getDayCodeFromDateTime(DateTime())
|
val todayCode = Formatter.getDayCodeFromDateTime(DateTime())
|
||||||
for (i in 0..6) {
|
mView.week_letters_holder.removeAllViews()
|
||||||
|
for (i in 0 until config.weeklyViewDays) {
|
||||||
val dayCode = Formatter.getDayCodeFromDateTime(curDay)
|
val dayCode = Formatter.getDayCodeFromDateTime(curDay)
|
||||||
val dayLetters = res.getStringArray(R.array.week_day_letters).toMutableList() as ArrayList<String>
|
val dayLetters = res.getStringArray(R.array.week_day_letters).toMutableList() as ArrayList<String>
|
||||||
val dayLetter = dayLetters[curDay.dayOfWeek - 1]
|
val dayLetter = dayLetters[curDay.dayOfWeek - 1]
|
||||||
|
|
||||||
mView.findViewById<TextView>(res.getIdentifier("week_day_label_$i", "id", context!!.packageName)).apply {
|
val label = inflater.inflate(R.layout.weekly_view_day_letter, mView.week_letters_holder, false) as MyTextView
|
||||||
text = "$dayLetter\n${curDay.dayOfMonth}"
|
label.text = "$dayLetter\n${curDay.dayOfMonth}"
|
||||||
setTextColor(if (todayCode == dayCode) primaryColor else textColor)
|
label.setTextColor(if (todayCode == dayCode) primaryColor else textColor)
|
||||||
if (todayCode == dayCode) {
|
if (todayCode == dayCode) {
|
||||||
todayColumnIndex = i
|
todayColumnIndex = i
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mView.week_letters_holder.addView(label)
|
||||||
curDay = curDay.plusDays(1)
|
curDay = curDay.plusDays(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -220,7 +224,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun initGrid() {
|
private fun initGrid() {
|
||||||
(0 until context!!.config.weeklyViewDays).map { dayColumns[it] }
|
(0 until config.weeklyViewDays).map { dayColumns[it] }
|
||||||
.forEachIndexed { index, layout ->
|
.forEachIndexed { index, layout ->
|
||||||
layout.removeAllViews()
|
layout.removeAllViews()
|
||||||
val gestureDetector = getViewGestureDetector(layout, index)
|
val gestureDetector = getViewGestureDetector(layout, index)
|
||||||
@ -382,7 +386,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
|||||||
} else {
|
} else {
|
||||||
val dayCode = Formatter.getDayCodeFromDateTime(startDateTime)
|
val dayCode = Formatter.getDayCodeFromDateTime(startDateTime)
|
||||||
val dayOfWeek = dayColumns.indexOfFirst { it.tag == dayCode }
|
val dayOfWeek = dayColumns.indexOfFirst { it.tag == dayCode }
|
||||||
if (dayOfWeek == -1 || dayOfWeek >= context!!.config.weeklyViewDays) {
|
if (dayOfWeek == -1 || dayOfWeek >= config.weeklyViewDays) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -482,7 +486,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
|||||||
mView.week_events_holder.removeView(currentTimeView)
|
mView.week_events_holder.removeView(currentTimeView)
|
||||||
}
|
}
|
||||||
|
|
||||||
val weeklyViewDays = context!!.config.weeklyViewDays
|
val weeklyViewDays = config.weeklyViewDays
|
||||||
currentTimeView = (inflater.inflate(R.layout.week_now_marker, null, false) as ImageView).apply {
|
currentTimeView = (inflater.inflate(R.layout.week_now_marker, null, false) as ImageView).apply {
|
||||||
applyColorFilter(primaryColor)
|
applyColorFilter(primaryColor)
|
||||||
mView.week_events_holder.addView(this, 0)
|
mView.week_events_holder.addView(this, 0)
|
||||||
@ -583,7 +587,7 @@ class WeekFragment : Fragment(), WeeklyCalendar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
allDayHolders[drawAtLine].addView(this)
|
allDayHolders[drawAtLine].addView(this)
|
||||||
val dayWidth = mView.width / context!!.config.weeklyViewDays
|
val dayWidth = mView.width / config.weeklyViewDays
|
||||||
(layoutParams as RelativeLayout.LayoutParams).apply {
|
(layoutParams as RelativeLayout.LayoutParams).apply {
|
||||||
leftMargin = dayOfWeek * dayWidth
|
leftMargin = dayOfWeek * dayWidth
|
||||||
bottomMargin = 1
|
bottomMargin = 1
|
||||||
|
@ -48,72 +48,7 @@
|
|||||||
android:background="@drawable/stroke_bottom"
|
android:background="@drawable/stroke_bottom"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
android:orientation="horizontal"
|
android:orientation="horizontal"
|
||||||
android:paddingBottom="@dimen/small_margin">
|
android:paddingBottom="@dimen/small_margin" />
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/week_day_label_0"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/monday_letter"
|
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/week_day_label_1"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/tuesday_letter"
|
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/week_day_label_2"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/wednesday_letter"
|
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/week_day_label_3"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/thursday_letter"
|
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/week_day_label_4"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/friday_letter"
|
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/week_day_label_5"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/saturday_letter"
|
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
|
||||||
<com.simplemobiletools.commons.views.MyTextView
|
|
||||||
android:id="@+id/week_day_label_6"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_weight="1"
|
|
||||||
android:gravity="center_horizontal"
|
|
||||||
android:text="@string/sunday_letter"
|
|
||||||
android:textSize="@dimen/normal_text_size" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/week_all_day_holder"
|
android:id="@+id/week_all_day_holder"
|
||||||
|
10
app/src/main/res/layout/weekly_view_day_letter.xml
Normal file
10
app/src/main/res/layout/weekly_view_day_letter.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:id="@+id/week_day_label"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:textSize="@dimen/normal_text_size"
|
||||||
|
tools:text="@string/monday_letter" />
|
Reference in New Issue
Block a user