mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-17 12:20:51 +01:00
fill the months with proper day count
This commit is contained in:
parent
b5e5233a9f
commit
ffc528ce15
@ -8,6 +8,8 @@ import android.view.ViewGroup
|
|||||||
import com.simplemobiletools.calendar.Constants
|
import com.simplemobiletools.calendar.Constants
|
||||||
import com.simplemobiletools.calendar.NavigationListener
|
import com.simplemobiletools.calendar.NavigationListener
|
||||||
import com.simplemobiletools.calendar.R
|
import com.simplemobiletools.calendar.R
|
||||||
|
import kotlinx.android.synthetic.main.year_fragment.view.*
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
class YearFragment : Fragment() {
|
class YearFragment : Fragment() {
|
||||||
private var mListener: NavigationListener? = null
|
private var mListener: NavigationListener? = null
|
||||||
@ -18,6 +20,9 @@ class YearFragment : Fragment() {
|
|||||||
|
|
||||||
mYear = arguments.getInt(Constants.YEAR_LABEL)
|
mYear = arguments.getInt(Constants.YEAR_LABEL)
|
||||||
|
|
||||||
|
val calendar = GregorianCalendar(mYear, Calendar.FEBRUARY, 1)
|
||||||
|
view.february_value.setDays(calendar.getActualMaximum(Calendar.DAY_OF_MONTH))
|
||||||
|
|
||||||
return view
|
return view
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,11 +15,28 @@ class SmallMonthView(context: Context, attrs: AttributeSet, defStyle: Int) : Vie
|
|||||||
var mPaint: Paint
|
var mPaint: Paint
|
||||||
var mDayWidth = 0f
|
var mDayWidth = 0f
|
||||||
var mTextColor = 0
|
var mTextColor = 0
|
||||||
|
var mDays = 31
|
||||||
|
|
||||||
constructor(context: Context, attrs: AttributeSet) : this(context, attrs, 0) {
|
constructor(context: Context, attrs: AttributeSet) : this(context, attrs, 0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun setDays(days: Int) {
|
||||||
|
mDays = days
|
||||||
|
invalidate()
|
||||||
|
}
|
||||||
|
|
||||||
init {
|
init {
|
||||||
|
val a = context.theme.obtainStyledAttributes(
|
||||||
|
attrs,
|
||||||
|
R.styleable.SmallMonthView,
|
||||||
|
0, 0)
|
||||||
|
|
||||||
|
try {
|
||||||
|
mDays = a.getInt(R.styleable.SmallMonthView_days, 31)
|
||||||
|
} finally {
|
||||||
|
a.recycle()
|
||||||
|
}
|
||||||
|
|
||||||
val baseColor = if (Config.newInstance(context).isDarkTheme) Color.WHITE else Color.BLACK
|
val baseColor = if (Config.newInstance(context).isDarkTheme) Color.WHITE else Color.BLACK
|
||||||
mTextColor = Utils.adjustAlpha(baseColor, Constants.MEDIUM_ALPHA)
|
mTextColor = Utils.adjustAlpha(baseColor, Constants.MEDIUM_ALPHA)
|
||||||
|
|
||||||
@ -38,8 +55,10 @@ class SmallMonthView(context: Context, attrs: AttributeSet, defStyle: Int) : Vie
|
|||||||
var curId = 1
|
var curId = 1
|
||||||
for (y in 1..6) {
|
for (y in 1..6) {
|
||||||
for (x in 1..7) {
|
for (x in 1..7) {
|
||||||
canvas.drawText(curId.toString(), x * mDayWidth, y * mDayWidth, mPaint)
|
if (curId <= mDays) {
|
||||||
curId++
|
canvas.drawText(curId.toString(), x * mDayWidth, y * mDayWidth, mPaint)
|
||||||
|
curId++
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<TableLayout
|
<TableLayout
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
android:id="@+id/calendar_holder"
|
android:id="@+id/calendar_holder"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
@ -103,7 +104,8 @@
|
|||||||
android:id="@+id/april_value"
|
android:id="@+id/april_value"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@+id/april_label"/>
|
android:layout_below="@+id/april_label"
|
||||||
|
app:days="30"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
@ -151,7 +153,8 @@
|
|||||||
android:id="@+id/june_value"
|
android:id="@+id/june_value"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@+id/june_label"/>
|
android:layout_below="@+id/june_label"
|
||||||
|
app:days="30"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
@ -224,7 +227,8 @@
|
|||||||
android:id="@+id/september_value"
|
android:id="@+id/september_value"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@+id/september_label"/>
|
android:layout_below="@+id/september_label"
|
||||||
|
app:days="30"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
|
|
||||||
@ -274,7 +278,8 @@
|
|||||||
android:id="@+id/november_value"
|
android:id="@+id/november_value"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_below="@+id/november_label"/>
|
android:layout_below="@+id/november_label"
|
||||||
|
app:days="30"/>
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
6
app/src/main/res/values/attrs.xml
Normal file
6
app/src/main/res/values/attrs.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<declare-styleable name="SmallMonthView">
|
||||||
|
<attr name="days" format="integer"/>
|
||||||
|
</declare-styleable>
|
||||||
|
</resources>
|
@ -12,7 +12,7 @@
|
|||||||
<dimen name="min_widget_width">250dp</dimen>
|
<dimen name="min_widget_width">250dp</dimen>
|
||||||
<dimen name="min_widget_height">250dp</dimen>
|
<dimen name="min_widget_height">250dp</dimen>
|
||||||
|
|
||||||
<dimen name="tiny_text_size">8sp</dimen>
|
<dimen name="tiny_text_size">9sp</dimen>
|
||||||
<dimen name="normal_text_size">14sp</dimen>
|
<dimen name="normal_text_size">14sp</dimen>
|
||||||
<dimen name="day_text_size">16sp</dimen>
|
<dimen name="day_text_size">16sp</dimen>
|
||||||
<dimen name="month_text_size">22sp</dimen>
|
<dimen name="month_text_size">22sp</dimen>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user