No resource found that matches the given name ‘android.TextAppearance.Materia...

问题原因出在Gradle里面

android {
    compileSdkVersion = 23
    targetSdkVersion = 22
    minSdkVersion = 17
    buildToolsVersion = '25.0.2'
}

dependencies {
    //省略其他
    compile 'com.android.support:design:25.3.1'
    //省略其他
}
  • 问题的原因是support:design包的版本与项目编译的版本compileSdkVersion不一致

解决办法

将compileSdkVersion调整与support:design包一致即可

minSdkVersion、 targetSdkVersion和compileSdkVersion

  • minSdkVersion比较好理解,就是限制最小的可安装版本,比如设置了minSdkVersion为17,那对应手机系统是Android4.2,也就是说比Android4.2系统版本还要低的手机将无法安装你的应用
  • compileSdkVersion也比较好理解,就是你项目编译时候用的SDK版本,compileSdkVersion设置成最新的可以使用最新的特性
  • targetSdkVersion这个有点不好理解,就是兼容的目标版本,比如targetSdkVersion设置为22,对应的手机系统版本是Android5.1。这得分2种情况:
    • 用户手机的系统版本比Android5.1版本高,如果App中用到了更改过的API,那么系统会向下兼容,仍然按照Android5.1版本的API来
    • 如果用户的系统版本比Android5.1低,且你的App用到了高本版才有的API,而又没有做特殊处理,那么App就会报错,甚至奔溃。
    • 我们在开发App的过程中,如果用到了高版本才有的API,Android Studio的代码提示工具就会出现警告,我们就需要做特殊处理了

其他

android.support:design是Google推出的Material Design相关的支持库,里面提供了规范的MD设计风格的控件,而且一直兼容到Android 2.2。



欢迎关注我的公众号,和我一起每天进步一点点!
这里写图片描述

猜你喜欢

转载自blog.csdn.net/myth13141314/article/details/78343327