【发布时间】:2014-07-06 21:39:42
【问题描述】:
我有以下可绘制资源:
<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 中来解决此问题,将可绘制的位图部分提取到放置在同一 FrameLayout 中的 ImageView 中。这解决了这个问题,因为 ImageView 可以定义位图的确切宽度和高度(通过 layout_width 和 layout_height)。但是 drawable 没有这样的(或类似的)属性。我想知道为什么会这样?是否有一种更优雅的方法可以在可绘制 XML 中指定可绘制位图的大小 - 而不是使用 FrameLayout 实现那种丑陋的解决方法?
谢谢
【问题讨论】:
-
有类似的问题你发现了什么?
-
好像没有解决办法
标签: android android-layout bitmap drawable