18

I want to integrate android.support.design.widget.TextInputLayout In my android application. I have copied the jar file android-support-design.jar from the sdk to my applications lib folder. I have added below code in my xml file for the Email EditText,

 <!-- Email Label -->
        <android.support.design.widget.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:layout_marginBottom="8dp">
            <EditText android:id="@+id/input_email"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="textEmailAddress"
                android:hint="Email" />
        </android.support.design.widget.TextInputLayout>

While add this code in my layout.xml file I am getting an error like,

Exception raised during rendering: com.android.layoutlib.bridge.MockView cannot be cast to android.view.ViewGroup
Exception details are logged in Window > Show View > Error Log
The following classes could not be instantiated:
- android.support.design.widget.TextInputLayout (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.

How can i fix this issue...

SHIDHIN TS
  • 1,557
  • 3
  • 26
  • 58

8 Answers8

50

replace

android.support.design.widget.TextInputLayout

with

com.google.android.material.textfield.TextInputLayout
saigopi.me
  • 14,011
  • 2
  • 83
  • 54
9

If you uses AndroidStudio, you should not include android-support-design.jar. Instead, write like below in your build.gradle:

dependencies {
    ...
    compile 'com.android.support:design:24.0.0'
    ...
}

Edit: If this doesn't work you are probably using a different version. In Windows, go to:

[android-sdk]\extras\android\m2repository\com\android\support\design

On Mac:

sdk/extras/android/m2repository/com/android/support/design

This directory holds a number of version folders. Use the latest version on your build.gradle.

Mardwan
  • 139
  • 3
  • 14
nshmura
  • 5,940
  • 3
  • 27
  • 46
7

add in the build.gradle following this line:

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

and use in the xml file:

 <com.google.android.material.textfield.TextInputLayout
                    android:id="@+id/inputLayoutMobile"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="@dimen/dimen_20dp"
                    android:layout_marginRight="@dimen/dimen_20dp"
                    android:hint="@string/phone_number"
                    android:visibility="gone"
                    android.support.design:layout_constraintTop_toBottomOf="@+id/inputLayoutAppServerUrl">

                    <com.google.android.material.textfield.TextInputEditText
                        android:id="@+id/edtTxtMobile"
                        style="@style/Style_TextView"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:drawableLeft="@drawable/ic_smartphone"
                        android:drawablePadding="@dimen/dimen_10dp"
                        android:inputType="number"
                        android:singleLine="true"
                        android:scrollbars="vertical"
                        android:text="@={SettingViewModel.mMobileNo}"
                        android:textSize="@dimen/font_13sp" />
                </com.google.android.material.textfield.TextInputLayout>
Soumen Das
  • 1,292
  • 17
  • 12
1

I had similar problem, replace the TextInputLayout design pattern with below resolved for me:

com.google.android.material.textfield.TextInputLayout

Jay Thakkar
  • 1,392
  • 10
  • 19
1

The dependency your using is part of the Android support library which is now deprecated and no longer supported by Google. Instead, use this:
implementation 'com.google.android.material:material:<version>'
and replace <version> with the latest version from either Google's Maven Repository or MVN Repository

Perhaps you could read more from here Getting Started

Peter Wauyo
  • 827
  • 1
  • 8
  • 11
1

For android androidX add this dependencies

implementation 'com.google.android.material:material:1.2.0'

Then try

Jewel Rana
  • 2,397
  • 1
  • 19
  • 28
0

If implementation, compile and api doesn't work try using classpath with latest version of material library you can find latest version on Google's Maven Repository

dependencies {
    .....
    classpath 'com.google.android.material:material:1.4.0-beta01'
    ....
}
Aaqib Akhtar
  • 63
  • 1
  • 6
-6

You are making mistake in giving id give id to TextInputLayout

  • there is no relevance of setting id , TextInputLayout is a part of material design library so we need to add the relevant library to get its intellisense autofill in xml. – SaadurRehman Sep 09 '20 at 05:06