昨天,我已切换到Android Studio 2.1.3版.今天,我重新打开了我的一个项目,并尝试添加一些图层列表drawable用于ImageVIEw.例如这一个:
<@R_219_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:wIDth="80px" androID:height="80px" androID:top="0px" androID:left="0px" androID:right="0px" androID:bottom="0px"> <shape androID:shape="rectangle"> <solID androID:color="@color/deep_orange"/> </shape> </item> <item androID:wIDth="60px" androID:height="60px" androID:top="10px" androID:left="10px" androID:right="10px" androID:bottom="10px"> <shape androID:shape="oval"> <solID androID:color="@color/light_yellow"/> </shape> </item></@R_219_3419@>
这是我在升级AndroID Studio版本之前所获得的,如果我选择23作为“在IDE中渲染布局时使用的AndroID版本”,这就是我现在在预览中获得的内容.
但是,如果我选择23以下的任何版本,我只会得到正方形:
不幸的是,在模拟器(Lollipop 22)或设备(Jellybean 18)上运行应用程序时,我也得到了正方形.
以防这有用:
> compileSdkVersion 23
> buildToolsversion“23.0.3”
> minSdkVersion 11
> targetSdkVersion 23
> buildType调试没有任何内容
> dependencIEs:compile’com.androID.support:appcompat-v7:23.0.1′
>活动扩展了AppCompatActivity
我认为这个问题与上层的顶部,左侧,右侧和底部的使用有某种关系.因为如果我只是在一个正方形的顶部放置一个圆圈,预览以及“真实的东西”将按预期的方式对所有API级别起作用.
编辑我也开始了一个全新的项目,使用相同的代码/ xml和以下(自动创建)build.gradle:
> compileSdkVersion 24
> buildToolsversion“24.0.2”
> minSdkVersion 15
> targetSdkVersion 24
> buildType调试没有任何内容
> dependencIEs:compile’com.androID.support:appcompat-v7:24.2.0′
>活动扩展了AppCompatActivity
这里的行为相同:如果我使用top,left,right和bottom值!= 0,则不会为API级别< = 22呈现上层.所以我的问题是:如何使用AndroID Studio 2.1.3为所有API级别创建“with insets”形状drawable?
解决方法:
首先,我要感谢@pskink帮助我分析问题:)
问题中的xml适用于API级别23,因为
it is possible to set wIDth and height right within the “item” tag
像@android developer年的@android developer州
它不适用于较低版本,因为需要使用size标签为ShapeDrawable设置wIDth和height属性.
我想AndroID需要大小来计算如何缩放drawable( – >宽高比!),同时考虑插图(顶部,左侧,右侧,底部).
正如有时格式错误(对于特定API级别)xml的情况一样,AndroID无声地失败并且根本没有绘制形状.
所以解决方案是:
<@R_219_3419@ xmlns:androID="http://schemas.androID.com/apk/res/androID"> <item androID:wIDth="80px" androID:height="80px" androID:top="0px" androID:left="0px" androID:right="0px" androID:bottom="0px"> <shape androID:shape="rectangle"> <solID androID:color="@color/deep_orange"/> </shape> </item> <item androID:wIDth="60px" androID:height="60px" androID:top="10px" androID:left="10px" androID:right="10px" androID:bottom="10px"> <shape androID:shape="oval"> <solID androID:color="@color/light_yellow"/> <size androID:height="60px" androID:wIDth="60px"/> </shape> </item></@R_219_3419@>
总结 以上是内存溢出为你收集整理的android – 对于低于23的API,图层列表中的Shape drawable呈现不正确全部内容,希望文章能够帮你解决android – 对于低于23的API,图层列表中的Shape drawable呈现不正确所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)