目前我正在开发Android应用程序。我想制作一个背景如下的文本(标题):
_______
/______/
我有以下代码:
<?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>
所以我对图像进行了制作,所以在两端放置了一个透明的三角形。
这适用于只有一行的标题,但当标题占用两行时,它看起来像这样:
所以我的问题是:是否可以调整两个图像的大小以便正确显示? 谢谢!
答案 0 :(得分: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>
答案 1 :(得分:1)
不要使用包含渐变/边框描边和自定义图像的图层列表,而应考虑使用NinePatchDrawable。
Android SDK附带了一个方便的9补丁creater。