我有以下可绘制资源:
<layer-list>
<item><shape>
<gradient android:angle="225" android:endColor="#080517" android:startColor="#241c4d" />
<stroke android:width="2.5dp" android:color="#FFFFFF" />
<corners android:radius="5dp" />
</shape></item>
<item>
<bitmap android:gravity="right|center_vertical" android:src="@drawable/tri_arrow_down_blue64" />
</item>
</layer-list>
问题是:我无法指定位图的确切大小(在dp中)。因此 - 位图会影响控件的高度,背景设置为可绘制的。
我可以通过将控件放在FrameLayout中解决问题,将drawable的位图部分提取到放置在同一FrameLayout中的ImageView中。这解决了这个问题,因为ImageView可以定义位图的确切宽度和高度(通过layout_width和layout_height)。但是drawable没有这样(或类似)的属性。我想知道为什么会这样?并且有一种更优雅的方法来指定可绘制XML内部的可绘制位图的大小 - 而不是使用FrameLayout实现那种丑陋的解决方法吗?
感谢
答案 0 :(得分:1)
我遇到了类似的问题,根据我的研究,没有办法在图层列表中实际设置项目或位图的大小(这看起来很荒谬)。
我只是通过缩小我用于位图drawable的png图像的大小来解决我的问题。