调整可绘制图层列表中的位图大小

use*_*553 5 xml android styles bitmap

目前我正在开发一个Android应用程序.我想制作一个背景如下所示的文本(标题):

 _______
/______/
Run Code Online (Sandbox Code Playgroud)

我有以下代码:

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>    
            <gradient
              android:startColor="@color/jaarkleur"
              android:centerColor="@color/jaarkleur"
              android:endColor="#E66C2C00"
              android:angle="0" />
            <stroke android:width="1dp"
            android:color="#ff000000"
            />       
        </shape>
    </item>
    <item>
        <bitmap android:src="@drawable/overlay_left" android:gravity="left"  />
    </item>
    <item>
        <bitmap android:src="@drawable/overlay_right" android:gravity="right"  />
    </item>

</layer-list>
Run Code Online (Sandbox Code Playgroud)

所以我用图像做了一个透明的三角形放在两端.

这适用于只有一行的标题,但当标题占用两行时,它看起来像这样:

http://i.imgur.com/lDQGo.png

所以我的问题是:是否可以调整两个图像的大小,以便正确看起来?谢谢!

use*_*553 10

我使用代表角落的两个(半透明)图像解决了它.

XML看起来像这样:

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
                <shape>    
                    <gradient
                      android:startColor="@color/jaarkleur"
                      android:centerColor="@color/jaarkleur"
                      android:endColor="#E66C2C00"
                      android:angle="0" />
                    <stroke android:width="1dp"
            android:color="#ff000000"
            />       
                </shape>
        </item>
        <item>
            <bitmap android:src="@drawable/overlay_left" android:gravity="left|top"  />
        </item>
        <item>
            <bitmap android:src="@drawable/overlay_right" android:gravity="right|bottom" />
        </item>        
</layer-list>
Run Code Online (Sandbox Code Playgroud)

  • 你也可以使用`android:gravity ="right | fill_vertical"`和`android:gravity ="left | fill_vertical"`来垂直缩放你的左右位图 (2认同)