小编use*_*039的帖子

如何在drawable资源中设置位图的大小?

我有以下drawable资源:

<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>
Run Code Online (Sandbox Code Playgroud)

问题是:我无法指定位图的确切大小(在dp中).结果 - 位图影响控件的高度,背景设置为可绘制的.

我可以通过将控件放在FrameLayout中来解决问题,将drawable的位图部分提取到放置在同一FrameLayout中的ImageView中.这解决了这个问题,因为ImageView可以定义位图的确切宽度和高度(通过layout_width和layout_height).但是drawable没有这样(或类似)的属性.我想知道为什么会这样?并且有一种更优雅的方法可以在drawable XML中指定可绘制位图的大小 - 而不是使用FrameLayout实现那种丑陋的解决方法吗?

谢谢

android bitmap drawable android-layout

7
推荐指数
1
解决办法
2700
查看次数

标签 统计

android ×1

android-layout ×1

bitmap ×1

drawable ×1