Поддержка Android-дизайна

Это был мой файл build.gradle :

 ... dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' compile 'com.android.support:cardview-v7:21.0.+' ... } 

Прежде чем добавить:

 compile 'com.android.support:design:22.2.0' 

Теперь, когда я создаю или перестраиваю свой проект (я несколько раз синхронизировал gradle ), я получаю следующие ошибки:

 .../utils/CustomEditText.java Error:(6, 42) Gradle: error: cannot find symbol class TintEditText Error:(14, 35) Gradle: error: cannot find symbol class TintEditText Error:(37, 8) Gradle: error: cannot find symbol method isInEditMode() Error:(57, 3) Gradle: error: cannot find symbol method setTypeface(Typeface) Error:(65, 5) Gradle: error: method does not override or implement a method from a supertype Error:(67, 23) Gradle: error: cannot find symbol variable super ... 

Внутри моего CustomEditText (который расширяет TintEditText ) и внутри всех CustomEditText которые используют этот CustomEditText .

Импорт не вызывает никакой ошибки или Class:

 import android.support.v7.internal.widget.TintEditText; 

Что бы это могло быть?

UPDATE: Используя предложение ianhanniballake , AppCompatEditText вместо внутреннего TintEditText решает ошибку времени компиляции и отвечает на этот вопрос, но теперь у меня ошибка времени выполнения:

 java.lang.IllegalArgumentException: AppCompat does not support the current theme features 

Я видел некоторый вопрос, связанный с этим, и упомянутое решение было чем-то вроде:

 <style name="MyMaterialTheme" parent="Theme.AppCompat.NoActionBar"> <item name="windowNoTitle">true</item> <item name="windowActionBar">false</item> ... </style> 

Но я не хочу подбирать этот подход, потому что у меня есть некоторые Activities которые используют ActionBar и другие, которые этого не делают. Мои стили:

 <style name="MyTheme" parent="Theme.AppCompat.Light"> <item name="colorControlNormal">@color/txt_light_grey</item> <item name="colorControlActivated">@color/default_orange</item> <item name="colorControlHighlight">@color/txt_light_grey</item> </style> <style name="MyTheme.ActionBar.Orange" parent="MyTheme"> <item name="windowActionBarOverlay">false</item> <item name="colorPrimary">@color/default_orange</item> </style> <style name="MyTheme.FullScreen" parent="MyTheme"> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> <item name="android:windowContentOverlay">@null</item> </style> 

И внутри моей базы Activity я делаю:

 getWindow().requestFeature(mActionBarView != null ? Window.FEATURE_ACTION_BAR : Window.FEATURE_NO_TITLE); 

Чтобы включить или отключить ActionBar .
Как я уже сказал, это работает очень хорошо, пока я не добавлю 'com.android.support:design:22.2.0' или не обновить appcompat-v7:22.0.0 до 22. 2 .0. Я просто хочу использовать TabLayout , но я думаю, что не буду …

Начиная с версии AppCompat 22.1.0 , вы должны использовать AppCompatEditText вместо внутреннего TintEditText .