Tag: 图层列表

了解Android的<layer-list>

我不明白图层列表是如何工作的。 我用一些例子阅读了官方文档,但是对于我来说并不像预期的那样。 我想要四个正方形应填充1dp,但没有像预期的那样。 这是一个由500%缩放的屏幕截图: (错误的颜色并不重要) 正如你所看到的大小是完全错误的,填充缺失。 我试图设置像宽度/高度和右/左/顶/ buttom真正的值,以确保android得到我想要的点。 这是我的xml: <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:top="0dp" android:left="0dp" android:bottom="0dp" android:right="0dp"> <shape android:shape="rectangle"> <size android:width="9dp" android:height="9dp"/> <solid android:color="#f000"/> </shape> </item> <item android:top="1dp" android:left="1dp" android:bottom="5dp" android:right="5dp"> <shape android:shape="rectangle"> <size android:width="3dp" android:height="3dp"/> <solid android:color="#f00"/> </shape> </item> <item android:top="1dp" android:left="5dp" android:bottom="5dp" android:right="1dp"> <shape android:shape="rectangle"> <size android:width="3dp" android:height="3dp"/> <solid android:color="#0f0"/> </shape> […]

setBackgroundResource()放弃我的XML布局属性

我有一个用作ListView的项目的视图。 在我的自定义适配器中,使用View.setBackgroundResource()根据项目在列表中的位置更改视图的背景。 (对于列表中的第一个和最后一个项目,我有单独的资源。) 如预期的那样设置正确的背景图像,但是它具有令人讨厌的副作用,即在视图的XML定义中设置的所有填充都被完全忽略。 (如果我在XML中设置可绘制背景,并且不要在适配器的运行时改变它,那么填充一切正常。) 我怎样才能改变背景图片,并保留填充? 这是一个错误? 编辑它似乎有人已经在这里find了同样的问题: 改变背景也改变了LinearLayout的填充?