昨天,我切换到了 Android Studio 2.1.3 版。今天,我重新打开了我的一个项目,并尝试添加一些图层列表可绘制对象以与ImageView
. 比如这个:
<layer-list 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>
</layer-list>
这是我在升级我的 Android Studio 版本之前得到的,如果我选择 23 作为“在 IDE 中渲染布局时使用的 Android 版本”,这就是我现在在预览中得到的。
但是,如果我选择 23 以下的任何版本,我只会得到正方形:
不幸的是,在模拟器 (Lollipop 22) 或设备 (Jellybean 18) 上运行应用程序时,我只得到正方形。
以防万一这有帮助:
- compileSdkVersion 23
- 构建工具版本“23.0.3”
- minSdkVersion 11
- targetSdkVersion 23
- buildType 调试没有任何内容
- 依赖项:编译'com.android.support:appcompat-v7:23.0.1'
Activity
延伸_AppCompatActivity
我认为这个问题在某种程度上与上层的, 和的top
使用left
有关。因为如果我只是在正方形顶部放置一个圆圈,则预览以及“真实事物”对于所有 API 级别都按预期工作。right
bottom
编辑我还使用相同的代码/ xml 和以下(自动创建)开始了一个全新的项目build.gradle
:
- compileSdkVersion 24
- 构建工具版本“24.0.2”
- minSdkVersion 15
- targetSdkVersion 24
- buildType 调试没有任何内容
- 依赖项:编译'com.android.support:appcompat-v7:24.2.0'
Activity
延伸_AppCompatActivity
top
这里的行为相同:如果我使用,和值 != 0 left
,则不会为 API 级别 <= 22 渲染上层 。right
bottom
所以我的问题是:如何使用 Android Studio 2.1.3 为所有 API 级别创建“带有插图”的形状可绘制对象?