3

我想在API 21开始我的应用程序中使用新的设计支持库。 我想使用Theme.Material风格,但它只适用于Theme.AppCompat风格。 当我使用Theme.Material,Android的这个错误:Android设计支持库与Theme.Material

error inflating class android.support.design.widget.textinputlayout"

我该如何解决呢?

预先感谢您

PS:对不起,我的英语不好,我是法国人。

UPDATE: 这里是我的代码

styles.xml

<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar"> 
    <item name="android:colorPrimary">@color/primary</item> 
    <item name="android:colorPrimaryDark">@color/primary_dark</item> 
    <item name="android:colorAccent">@color/accent</item> 
    <item name="android:colorControlNormal">@color/control_normal</item> 
    <item name="android:textColorHint">@color/silver</item> 
</style> 

activity.xml

<android.support.design.widget.TextInputLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="username" 
     android:id="@+id/editText1" /> 

</android.support.design.widget.TextInputLayout> 

的build.gradle

dependencies { 
//compile fileTree(dir: 'libs', include: ['*.jar']) 

compile project(':facebook') 
compile('com.twitter.sdk.android:twitter:[email protected]') { 
    transitive = true; 
    exclude module: 'gson' 
} 

compile 'com.google.android.gms:play-services-plus:7.5.0' 
compile 'com.google.android.gms:play-services-identity:7.5.0' 
compile 'com.android.support:design:22.2.0' 
compile 'com.android.support:support-v13:22.0.0' 
compile 'com.android.support:cardview-v7:22.0.0' 
compile 'com.soundcloud.android:android-crop:[email protected]' 

compile files('libs/volley.jar') 
compile files('libs/gson-2.3.1.jar') 
compile files('libs/httpclient-4.3.3.jar') 
compile files('libs/httpclient-cache-4.3.3.jar') 
compile files('libs/httpcore-4.3.2.jar') 
compile files('libs/httpmime-4.3.3.jar') 
compile files('libs/commons-lang3-3.3.2.jar') 
compile files('libs/hellocharts-library-1.5.5.jar') 
} 
+0

直到现在wh在你已经尝试过,你能告诉我们 – Soham

回答

8

TextInputLayout依赖于AppCompat中的资源/属性。您需要使用AppCompat基本主题。

AppCompat themes是API 21+上基于Material的主题的父级。所以,你将使用Material主题。

+0

谢谢你的回答。 – Louis

0

加入这一行gradle这个文件:

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

然后你* .xml文件这样做:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="10dip" 
    android:gravity="center_vertical" 
    android:orientation="vertical" 
    android:padding="10dp"> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_margin="10dip" 
     android:orientation="vertical" 
     android:weightSum="1"> 

     <android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:paddingTop="4dip" 
      app:hintTextAppearance="@style/textview.small"> 

      <EditText 
       android:id="@+id/et_password" 
       style="@style/textview.medim" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="10dip" 
       android:layout_marginRight="10dip" 
       android:hint="@string/Password" /> 
     </android.support.design.widget.TextInputLayout> 


    </LinearLayout> 
</LinearLayout> 

更新: 如果你想使用的工具栏,应改为使用AppCompat主题,
I'Confused about this