com.android.support:design:28.0.0 - Version 28 is the last version of the legacy support library

a_subscriber picture a_subscriber · Sep 7, 2019 · Viewed 7.9k times · Source

In my android project in xml I try to use com.google.android.material.textfield.TextInputEditText

like this:

        <com.google.android.material.textfield.TextInputEditText
                android:id="@+id/editTextEmail"
                style="@style/textTextViewStyle"
                android:layout_width="0dp"
                android:layout_height="@dimen/min_height"
                android:layout_margin="@dimen/default_margin"
                android:hint="@string/email"
                android:inputType="textEmailAddress"
                android:padding="@dimen/half_default_margin"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewAppName" />

in gradle.properties

android.useAndroidX=true
android.enableJetifier=true

In app/build.gradle:

android {
    dataBinding {
        enabled = true
    }
    compileSdkVersion 29
    defaultConfig {
        applicationId "com.myapp"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.android.support:design:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

but I get warning in this line:

implementation 'com.android.support:design:28.0.0'

Warning message:

Version 28 is the last version of the legacy support library, so we recommend that you migrate to AndroidX libraries...

How I can fix this?

Answer

Gabriele Mariotti picture Gabriele Mariotti · Sep 7, 2019

To use components like <com.google.android.material.textfield.TextInputEditText you have to add the Material Components library:

implementation 'com.google.android.material:material:1.1.0-alpha10'

and remove the design support library

//implementation 'com.android.support:design:28.0.0'