XML drawable 在 4.3 和 4.1.2 上具有不同的行为
Posted
技术标签:
【中文标题】XML drawable 在 4.3 和 4.1.2 上具有不同的行为【英文标题】:XML drawable having different behavior on 4.3 and 4.1.2 【发布时间】:2013-09-22 01:27:04 【问题描述】:我有以下可绘制对象,
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="3dp"/>
<padding android:left="1dp" android:right="1dp" android:top="1dp" android:bottom="1dp"/>
<stroke android: android:color="#e4e4e4"/>
</shape>
“它应该”在背景设置时绘制边框,实际上在 (Android 4.3 /goole nexus 7) 上确实如此,但不幸的是在 (Android 4.1.2/三星 Galaxy Tab 10") 上它只是填充了所有背景用颜色
如果有人能告诉我我做错了什么,或者如果有人有一个可绘制的 xml 边框, 我会非常感激:=)
【问题讨论】:
将内边距增加到5dp
试试
Ichanged the padding with the following: 这是具有相同drawable的解决方案
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="@android:color/transparent" />
<corners android:radius="3dp"/>
<stroke android: android:color="#e2e2e2"/>
</shape>
我只需要指定纯色:
<solid android:color="@android:color/transparent" />
【讨论】:
【参考方案2】:在两个版本上效果更好的边框可绘制代码:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- This is the line -->
<item android:top="1px" android:right="1px" android:left="1px" android:bottom="1px">
<shape>
<solid android:color="@android:color/transparent" />
<corners android:radius="3dp"/>
<stroke android: android:color="#e4e4e4" />
</shape>
</item>
</layer-list>
【讨论】:
以上是关于XML drawable 在 4.3 和 4.1.2 上具有不同的行为的主要内容,如果未能解决你的问题,请参考以下文章
android项目,往drawable文件夹里面导入图片,main.xml里能找到图片,但是在java文件中R.drawable。找不到