From 2127ee7b57799ae06899a14910e32fa65874cdbf Mon Sep 17 00:00:00 2001 From: AndroidDeveloperLB Date: Thu, 7 Feb 2019 01:57:27 +0200 Subject: [PATCH] cleanup --- .idea/caches/build_file_checksums.ser | Bin 618 -> 618 bytes .idea/caches/gradle_models.ser | Bin 184098 -> 186298 bytes AutoFitTextViewLibrary/AndroidManifest.xml | 5 +- AutoFitTextViewLibrary/build.gradle | 2 +- AutoFitTextViewLibrary/project.properties | 1 - .../auto_fit_textview/AutoResizeTextView.kt | 80 +++++----- AutoFitTextViewSample/AndroidManifest.xml | 31 ++-- AutoFitTextViewSample/build.gradle | 5 +- AutoFitTextViewSample/lint.xml | 3 +- AutoFitTextViewSample/project.properties | 1 - .../res/layout/activity_main.xml | 143 +++++------------- .../res/layout/activity_main2.xml | 19 +-- AutoFitTextViewSample/res/layout/item.xml | 14 +- AutoFitTextViewSample/res/menu/main.xml | 42 +++-- .../res/values-w820dp/dimens.xml | 8 +- AutoFitTextViewSample/res/values/dimens.xml | 6 +- AutoFitTextViewSample/res/values/strings.xml | 14 +- .../autofittextviewsample/Main2Activity.kt | 2 +- .../autofittextviewsample/MainActivity.kt | 51 +++---- build.gradle | 2 +- 20 files changed, 160 insertions(+), 269 deletions(-) diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index 7e1385d17883f8a5e5652c8495187fd2f282fdfa..990efe11a58762cc5e72ca3aa148deb1cc8896ae 100644 GIT binary patch delta 80 zcmV-W0I&b*1nLBkm;}W-yb+O{`4j(*fQ!l^GokqS9D9b(NjY=?43mEW77%dl%@wu8 m6;T-)1TR&_U#gSN0bLM@4%r{YeF)>xq?v}Z3bd7zI|47n?juM5 delta 80 zcmV-W0I&b*1nLBkm;}VsK~0gI`4bXpkhOW&TwhC^>MQ2JHS2T$43mEW77*RyW-MW0 mQPm4X?%A2J-olg40bLOF7$c$aToU;|=Q4_8N_z&AI|45c@g(g4 diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser index 7675afe38d3d777949011ed1fcb8a6c446283873..c67d8204e118aebd71980502eec9084e349f1d8e 100644 GIT binary patch literal 186298 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 My+|r{_koeW0yeOd%>V!Z literal 184098 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 - + - + diff --git a/AutoFitTextViewLibrary/build.gradle b/AutoFitTextViewLibrary/build.gradle index 7937b5f..6294cb0 100644 --- a/AutoFitTextViewLibrary/build.gradle +++ b/AutoFitTextViewLibrary/build.gradle @@ -37,7 +37,7 @@ android { dependencies { implementation 'androidx.appcompat:appcompat:1.0.2' - compile "androidx.core:core-ktx:+" + compile "androidx.core:core-ktx:1.0.1" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" } repositories { diff --git a/AutoFitTextViewLibrary/project.properties b/AutoFitTextViewLibrary/project.properties index 93c8c3c..e195e98 100644 --- a/AutoFitTextViewLibrary/project.properties +++ b/AutoFitTextViewLibrary/project.properties @@ -9,7 +9,6 @@ # # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - # Project target. target=android-21 android.library=true diff --git a/AutoFitTextViewLibrary/src/com/lb/auto_fit_textview/AutoResizeTextView.kt b/AutoFitTextViewLibrary/src/com/lb/auto_fit_textview/AutoResizeTextView.kt index e25a84b..5e2801a 100644 --- a/AutoFitTextViewLibrary/src/com/lb/auto_fit_textview/AutoResizeTextView.kt +++ b/AutoFitTextViewLibrary/src/com/lb/auto_fit_textview/AutoResizeTextView.kt @@ -21,16 +21,16 @@ import androidx.appcompat.widget.AppCompatTextView * More info here: https://code.google.com/p/android/issues/detail?id=22493 and here in case you wish to fix it: http://stackoverflow.com/a/21851239/878126 */ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = android.R.attr.textViewStyle) : AppCompatTextView(context, attrs, defStyle) { - private val _availableSpaceRect = RectF() - private val _sizeTester: SizeTester - private var _maxTextSize: Float = 0.toFloat() - private var _spacingMult = 1.0f - private var _spacingAdd = 0.0f - private var _minTextSize: Float = 0.toFloat() - private var _widthLimit: Int = 0 - private var _maxLines: Int = 0 - private var _initialized = false - private var _paint: TextPaint? = null + private val availableSpaceRect = RectF() + private val sizeTester: SizeTester + private var maxTextSize: Float = 0.toFloat() + private var spacingMult = 1.0f + private var spacingAdd = 0.0f + private var minTextSize: Float = 0.toFloat() + private var widthLimit: Int = 0 + private var maxLines: Int = 0 + private var initialized = false + private var textPaint: TextPaint? = null private interface SizeTester { /** @@ -45,19 +45,19 @@ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: Attr init { // using the minimal recommended font size - _minTextSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 12f, resources.displayMetrics) - _maxTextSize = textSize - _paint = TextPaint(paint) - if (_maxLines == 0) + minTextSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 12f, resources.displayMetrics) + maxTextSize = textSize + textPaint = TextPaint(paint) + if (maxLines == 0) // no value was assigned during construction - _maxLines = NO_LINE_LIMIT + maxLines = NO_LINE_LIMIT // prepare size tester: - _sizeTester = object : SizeTester { + sizeTester = object : SizeTester { internal val textRect = RectF() @TargetApi(Build.VERSION_CODES.JELLY_BEAN) override fun onTestSize(suggestedSize: Int, availableSpace: RectF): Int { - _paint!!.textSize = suggestedSize.toFloat() + textPaint!!.textSize = suggestedSize.toFloat() val transformationMethod = transformationMethod val text: String if (transformationMethod != null) @@ -66,10 +66,10 @@ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: Attr text = getText().toString() val singleLine = maxLines == 1 if (singleLine) { - textRect.bottom = _paint!!.fontSpacing - textRect.right = _paint!!.measureText(text) + textRect.bottom = textPaint!!.fontSpacing + textRect.right = textPaint!!.measureText(text) } else { - val layout = StaticLayout(text, _paint, _widthLimit, Alignment.ALIGN_NORMAL, _spacingMult, _spacingAdd, true) + val layout = StaticLayout(text, textPaint, widthLimit, Alignment.ALIGN_NORMAL, spacingMult, spacingAdd, true) // return early if we have more lines if (maxLines != NO_LINE_LIMIT && layout.lineCount > maxLines) return 1 @@ -93,7 +93,7 @@ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: Attr // else, too big } } - _initialized = true + initialized = true } fun isValidWordWrap(before: Char, after: Char): Boolean { @@ -111,38 +111,38 @@ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: Attr } override fun setTextSize(size: Float) { - _maxTextSize = size + maxTextSize = size adjustTextSize() } override fun setMaxLines(maxLines: Int) { super.setMaxLines(maxLines) - _maxLines = maxLines + this.maxLines = maxLines adjustTextSize() } override fun getMaxLines(): Int { - return _maxLines + return maxLines } override fun setSingleLine() { super.setSingleLine() - _maxLines = 1 + maxLines = 1 adjustTextSize() } override fun setSingleLine(singleLine: Boolean) { super.setSingleLine(singleLine) if (singleLine) - _maxLines = 1 + maxLines = 1 else - _maxLines = NO_LINE_LIMIT + maxLines = NO_LINE_LIMIT adjustTextSize() } override fun setLines(lines: Int) { super.setLines(lines) - _maxLines = lines + maxLines = lines adjustTextSize() } @@ -153,14 +153,14 @@ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: Attr Resources.getSystem() else c.resources - _maxTextSize = TypedValue.applyDimension(unit, size, r.displayMetrics) + maxTextSize = TypedValue.applyDimension(unit, size, r.displayMetrics) adjustTextSize() } override fun setLineSpacing(add: Float, mult: Float) { super.setLineSpacing(add, mult) - _spacingMult = mult - _spacingAdd = add + spacingMult = mult + spacingAdd = add } /** @@ -169,7 +169,7 @@ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: Attr * @param minTextSize */ fun setMinTextSize(minTextSize: Float) { - _minTextSize = minTextSize + this.minTextSize = minTextSize adjustTextSize() } @@ -181,23 +181,23 @@ class AutoResizeTextView @JvmOverloads constructor(context: Context, attrs: Attr // @Override // public void run() // { - if (!_initialized) + if (!initialized) return - val startSize = _minTextSize.toInt() + val startSize = minTextSize.toInt() val heightLimit = measuredHeight - compoundPaddingBottom - compoundPaddingTop - _widthLimit = measuredWidth - compoundPaddingLeft - compoundPaddingRight - if (_widthLimit <= 0) + widthLimit = measuredWidth - compoundPaddingLeft - compoundPaddingRight + if (widthLimit <= 0) return - _paint = TextPaint(paint) - _availableSpaceRect.right = _widthLimit.toFloat() - _availableSpaceRect.bottom = heightLimit.toFloat() + textPaint = TextPaint(paint) + availableSpaceRect.right = widthLimit.toFloat() + availableSpaceRect.bottom = heightLimit.toFloat() superSetTextSize(startSize) // } // }); } private fun superSetTextSize(startSize: Int) { - val textSize = binarySearch(startSize, _maxTextSize.toInt(), _sizeTester, _availableSpaceRect) + val textSize = binarySearch(startSize, maxTextSize.toInt(), sizeTester, availableSpaceRect) super.setTextSize(TypedValue.COMPLEX_UNIT_PX, textSize.toFloat()) } diff --git a/AutoFitTextViewSample/AndroidManifest.xml b/AutoFitTextViewSample/AndroidManifest.xml index 54d4171..335ebc0 100644 --- a/AutoFitTextViewSample/AndroidManifest.xml +++ b/AutoFitTextViewSample/AndroidManifest.xml @@ -1,24 +1,17 @@ - + - - - - + + + + - - - - - - + + + + + diff --git a/AutoFitTextViewSample/build.gradle b/AutoFitTextViewSample/build.gradle index 3c10f6e..edd186c 100644 --- a/AutoFitTextViewSample/build.gradle +++ b/AutoFitTextViewSample/build.gradle @@ -7,7 +7,7 @@ android { defaultConfig { applicationId "com.example.autofittextviewsample" - minSdkVersion 14 + minSdkVersion 17 targetSdkVersion 28 versionCode 1 versionName "1.0" @@ -41,8 +41,9 @@ dependencies { implementation 'androidx.appcompat:appcompat:1.0.2' implementation 'androidx.recyclerview:recyclerview:1.0.0' implementation project(':AutoFitTextViewLibrary') - compile "androidx.core:core-ktx:+" + compile "androidx.core:core-ktx:1.0.1" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' } repositories { mavenCentral() diff --git a/AutoFitTextViewSample/lint.xml b/AutoFitTextViewSample/lint.xml index ee0eead..9c0ed5a 100644 --- a/AutoFitTextViewSample/lint.xml +++ b/AutoFitTextViewSample/lint.xml @@ -1,3 +1,2 @@ - - \ No newline at end of file + diff --git a/AutoFitTextViewSample/project.properties b/AutoFitTextViewSample/project.properties index f5fc260..fb9fae5 100644 --- a/AutoFitTextViewSample/project.properties +++ b/AutoFitTextViewSample/project.properties @@ -9,7 +9,6 @@ # # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt - # Project target. target=android-21 android.library.reference.1=..\\AutoFitTextViewLibrary diff --git a/AutoFitTextViewSample/res/layout/activity_main.xml b/AutoFitTextViewSample/res/layout/activity_main.xml index 9c9fcc8..855d748 100644 --- a/AutoFitTextViewSample/res/layout/activity_main.xml +++ b/AutoFitTextViewSample/res/layout/activity_main.xml @@ -1,115 +1,52 @@ - + - + - + -