在 API < 23 的 Android 平台上,drawable 的 layer-list 中的项大小无法正常工作。

4

我有一个日历应该在有事件的日期上显示小点。我正在使用一个可绘制的对象来绘制这些小点。

这在我的安卓6.0的Nexus设备上运行得很好,但是如果我在安装了5.0的设备上尝试它,它就不起作用了。小点会填满整个容器。

附上了错误截图。两个大蓝色圆圈应该是4像素的小点。

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item xmlns:android="http://schemas.android.com/apk/res/android" android:gravity="center_horizontal|center_vertical">
        <shape android:shape="oval">
            <size android:height="4dp" android:width="4dp" />
            <solid android:color="@color/blue"/>
        </shape>
    </item>
</layer-list>

我将像这样调用此可绘制对象("@drawable/date_default_event_stroke"是上面的代码):
<selector xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:caldroid="http://schemas.android.com/apk/res-auto">
    <item android:drawable="@drawable/date_default_event_stroke" android:state_pressed="false" />
</selector>

enter image description here

1个回答

0

我猜你已经在某个后台中调用了这个XML, 例如android:background=@drawable/xml。 所以这将应用到整个视图。 你需要创建一个扩展任何视图的类,并创建自定义圆形。


我已经更新了我的问题,并说明了我如何调用那个XML。我对Android开发还很陌生,你能给我一些指引吗? - tskippe
使用此链接在您的项目中创建期望大小的圆。然后将此圆添加到您想要的任何位置的XML中。 - Devyani M

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接