Skip to content

Commit 65de690

Browse files
authored
feat: add font customization (#374)
1 parent 1028430 commit 65de690

4 files changed

Lines changed: 14 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased]
8+
### Added
9+
- Added support for custom fonts
10+
811
### Fixed
912
- Fixed overlap/truncation in stopwatch lap times ([#346])
1013

app/src/main/kotlin/org/fossify/clock/views/AutoFitTextView.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import android.content.Context
55
import android.util.AttributeSet
66
import android.util.TypedValue
77
import android.widget.TextView
8+
import org.fossify.commons.extensions.applyFontToTextView
89

910
/**
1011
* A simple wrapper TextView that restores the original text size
@@ -17,6 +18,10 @@ class AutoFitTextView @JvmOverloads constructor(
1718
defStyle: Int = 0,
1819
) : TextView(context, attrs, defStyle) {
1920

21+
init {
22+
if (!isInEditMode) context.applyFontToTextView(this)
23+
}
24+
2025
private var originalTextSize: Float = textSize
2126
private var originalWidth: Int = 0
2227

app/src/main/kotlin/org/fossify/clock/views/MyTextClock.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.util.AttributeSet
88
import android.widget.TextClock
99
import androidx.annotation.AttrRes
1010
import org.fossify.clock.extensions.config
11+
import org.fossify.commons.extensions.applyFontToTextView
1112
import java.text.DateFormatSymbols
1213

1314
private const val AM_PM_SCALE = 0.4f
@@ -18,6 +19,10 @@ class MyTextClock @JvmOverloads constructor(
1819
@AttrRes defStyleAttr: Int = android.R.attr.textViewStyle,
1920
) : TextClock(context, attrs, defStyleAttr) {
2021

22+
init {
23+
if (!isInEditMode) context.applyFontToTextView(this)
24+
}
25+
2126
private val amPmStrings by lazy {
2227
DateFormatSymbols.getInstance(
2328
resources.configuration.locales[0]

app/src/main/res/layout/fragment_clock.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
android:textSize="@dimen/clock_text_size"
2929
tools:text="00:00:00" />
3030

31-
<TextClock
31+
<org.fossify.clock.views.MyTextClock
3232
android:id="@+id/clock_date"
3333
android:layout_width="match_parent"
3434
android:layout_height="wrap_content"

0 commit comments

Comments
 (0)