首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有一个最低的android版本使用android-ConstraintLayout?

有没有一个最低的android版本使用android-ConstraintLayout?
EN

Stack Overflow用户
提问于 2019-11-12 14:14:03
回答 3查看 846关注 0票数 1

我对android ConstraintLayout的功能有问题..。在我的应用程序中,我使用ConstraintLayout,当我在9+安卓版本上安装应用程序时,一切都很好,但当我在较低的安卓版本上安装应用程序时,应用程序就崩溃了。在我的android项目中,我有: minSdkVersion 21 targetSdkVersion 26 compileSdkVersion 28

有人知道是什么导致的吗?或者解决它的方法?

编辑:感谢@Nikos Hidalgo!我没有正确理解错误信息。是我的梯度背景破坏了一切。

我得到的错误如下:

代码语言:javascript
运行
复制
11-12 15:44:32.580 11651-11651/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.repondeurtexto, PID: 11651
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.repondeurtexto/com.example.repondeurtexto.FirstActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3150)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3260)
        at android.app.ActivityThread.access$1000(ActivityThread.java:218)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1734)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:145)
        at android.app.ActivityThread.main(ActivityThread.java:6934)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
     Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class androidx.constraintlayout.widget.ConstraintLayout
        at android.view.LayoutInflater.createView(LayoutInflater.java:640)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:483)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:415)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:366)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
        at com.example.repondeurtexto.FirstActivity.onCreate(FirstActivity.java:15)
        at android.app.Activity.performCreate(Activity.java:6609)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3103)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3260) 
        at android.app.ActivityThread.access$1000(ActivityThread.java:218) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1734) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:145) 
        at android.app.ActivityThread.main(ActivityThread.java:6934) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
        at android.view.LayoutInflater.createView(LayoutInflater.java:614)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:483) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:415) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:366) 
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
        at com.example.repondeurtexto.FirstActivity.onCreate(FirstActivity.java:15) 
        at android.app.Activity.performCreate(Activity.java:6609) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3103) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3260) 
        at android.app.ActivityThread.access$1000(ActivityThread.java:218) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1734) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:145) 
        at android.app.ActivityThread.main(ActivityThread.java:6934) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199) 
     Caused by: android.content.res.Resources$NotFoundException: Resource "com.example.repondeurtexto:drawable/gradient" (7f07006c)  is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f07006c a=-1 r=0x7f07006c}
        at android.content.res.Resources.loadDrawableForCookie(Resources.java:4017)
        at android.content.res.Resources.loadDrawable(Resources.java:3929)
        at android.content.res.Resources.loadDrawable(Resources.java:3779)
        at android.content.res.TypedArray.getDrawable(TypedArray.java:776)
        at android.view.View.<init>(View.java:4001)
        at android.view.ViewGroup.<init>(ViewGroup.java:513)
        at android.view.ViewGroup.<init>(ViewGroup.java:509)
        at android.view.ViewGroup.<init>(ViewGroup.java:505)
        at androidx.constraintlayout.widget.ConstraintLayout.<init>(ConstraintLayout.java:575)
        at java.lang.reflect.Constructor.newInstance(Native Method) 
        at java.lang.reflect.Constructor.newInstance(Constructor.java:288) 
        at android.view.LayoutInflater.createView(LayoutInflater.java:614) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:750) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:483) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:415) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:366) 
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:469) 
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
        at com.example.repondeurtexto.FirstActivity.onCreate(FirstActivity.java:15) 
        at android.app.Activity.performCreate(Activity.java:6609) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1134) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3103) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3260) 
        at android.app.ActivityThread.access$1000(ActivityThread.java:218) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1734) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:145) 
        at android.app.ActivityThread.main(ActivityThread.java:6934) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:372) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)

在我的build.gradle中,我设置如下:

代码语言:javascript
运行
复制
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
EN

回答 3

Stack Overflow用户

发布于 2019-11-12 14:34:18

正如文档声明的那样,ConstraintLayout目前只能作为一个支持库,您可以从API 9开始在安卓系统上使用它(姜饼)。

票数 0
EN

Stack Overflow用户

发布于 2019-11-12 14:37:19

您的targetSdkVersion和compileSdkVersion应该是相同的。

代码语言:javascript
运行
复制
targetSdkVersion 28
compileSdkVersion 28
票数 0
EN

Stack Overflow用户

发布于 2019-11-12 15:00:02

ConstraintLayout可以在兼容Android2.3 (API 9)和更高版本的API库中使用。本页面提供了在AndroidStudio2.3或更高版本中使用ConstraintLayout构建布局的指南。

用ContraintLayout构建响应用户界面

确保您的gradle.Also中有必需的模块,请参阅此链接以解决NullPointExceptions问题

检查是否有与新设计库冲突的ids。

检查您的XML文件名,确保您的XML文件名包含在MainActivity布局中:

代码语言:javascript
运行
复制
setContentView(R.layout.xmlfilename_main); 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58820436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档