From 1afd67f4e7bb40bc6f323be3a1babea3ffc28c8d Mon Sep 17 00:00:00 2001 From: Andrei Date: Tue, 30 Jul 2019 15:39:27 +0300 Subject: [PATCH 1/2] Migrate to AndroidX and add auto fit letter spacing support --- app/build.gradle | 21 ++++++--------- .../com/viksaa/autofit/et/MainActivity.java | 27 +++++++++---------- app/src/main/res/layout/activity_main.xml | 14 +++++----- app/src/main/res/layout/content_main.xml | 6 +---- app/src/main/res/values-v21/styles.xml | 6 ++--- app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/styles.xml | 4 +-- build.gradle | 5 +++- gradle.properties | 21 ++++++++++----- gradle/wrapper/gradle-wrapper.properties | 2 +- lib/build.gradle | 12 ++++----- .../com/autofit/et/lib/AutoFitEditText.java | 18 ++++++++++--- 12 files changed, 72 insertions(+), 66 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index eddfa9f..6137d03 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 28 defaultConfig { applicationId "com.viksaa.autofit.et" - minSdkVersion 14 - targetSdkVersion 23 + minSdkVersion 21 + targetSdkVersion 28 versionCode 1 versionName "1.0" } @@ -20,13 +19,9 @@ android { } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.1.0' - compile 'com.android.support:design:23.1.0' - - compile project(":lib") - - /* ButterKnife */ - compile 'com.jakewharton:butterknife:7.0.1' + implementation project(":lib") + testImplementation 'junit:junit:4.12' + implementation "androidx.appcompat:appcompat:1.1.0-rc01" + implementation "androidx.coordinatorlayout:coordinatorlayout:1.1.0-beta01" + implementation "com.google.android.material:material:1.1.0-alpha09" } diff --git a/app/src/main/java/com/viksaa/autofit/et/MainActivity.java b/app/src/main/java/com/viksaa/autofit/et/MainActivity.java index b7c2854..8cacadd 100644 --- a/app/src/main/java/com/viksaa/autofit/et/MainActivity.java +++ b/app/src/main/java/com/viksaa/autofit/et/MainActivity.java @@ -1,36 +1,32 @@ package com.viksaa.autofit.et; import android.os.Bundle; -import android.support.design.widget.CoordinatorLayout; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.coordinatorlayout.widget.CoordinatorLayout; + import com.autofit.et.lib.AutoFitEditText; import com.autofit.et.lib.AutoFitEditTextUtil; -import butterknife.Bind; -import butterknife.ButterKnife; - public class MainActivity extends AppCompatActivity { - @Bind(R.id.toolbar) - Toolbar mToolbar; - @Bind(R.id.rET) - AutoFitEditText mAutoFitEditText; - @Bind(R.id.root) - CoordinatorLayout mRootView; + private Toolbar mToolbar; + private AutoFitEditText mAutoFitEditText; + private CoordinatorLayout mRootView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - ButterKnife.bind(this); setSupportActionBar(mToolbar); + mToolbar = findViewById(R.id.toolbar); + mAutoFitEditText = findViewById(R.id.rET); + mRootView = findViewById(R.id.root); initAutoFitEditText(); - } @@ -41,11 +37,12 @@ public void initAutoFitEditText() { mAutoFitEditText.setFocusable(true); mAutoFitEditText.setEnableSizeCache(false); //might cause crash on some devices - mAutoFitEditText.setMovementMethod(null); +// mAutoFitEditText.setMovementMethod(null); // can be added after layout inflation; mAutoFitEditText.setMaxHeight(330); //don't forget to add min text size programmatically mAutoFitEditText.setMinTextSize(60f); + mAutoFitEditText.setLetterSpacing(1f); AutoFitEditTextUtil.setNormalization(this, mRootView, mAutoFitEditText); } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8b7b51d..8d9f3c6 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,6 @@ - - - + android:background="?attr/colorPrimary" /> - + - + diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index afb2b1a..9c6a25e 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -12,14 +12,12 @@ android:id="@+id/container" android:layout_width="match_parent" android:layout_height="333dp" - android:layout_centerInParent="true" - android:background="@color/primary" > + android:layout_centerInParent="true"> diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml index 65d0c39..89f0ced 100644 --- a/app/src/main/res/values-v21/styles.xml +++ b/app/src/main/res/values-v21/styles.xml @@ -1,8 +1,8 @@ > diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 9e2400a..db67bbf 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -3,7 +3,7 @@ #4CAF50 #388E3C #C8E6C9 - #9E9E9E + #3F51B5 #212121 #727272 #FFFFFF diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a15a881..4bb6418 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,7 +1,7 @@ -