【问题标题】:how to set the size of bitmap in drawable resource?如何在可绘制资源中设置位图的大小?
【发布时间】: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


【解决方案1】:

我有一个类似的问题,根据我的研究,没有办法在图层列表中实际设置项目或位图的大小(这看起来很荒谬)。

我只是通过缩小用于位图可绘制对象的 png 图像的大小解决了我的问题。

【讨论】:

    猜你喜欢
    • 2011-10-29
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 1970-01-01
    • 2016-12-05
    • 2013-02-21
    相关资源
    最近更新 更多