我需要为图标容器(如此图中的白色容器)创建气泡背景:
所需外观
我决定使用可绘制的xml而不是9补丁图像,因此我可以在代码中控制圆角半径。因此,借助this answer到related question,我创建了以下xml:
bg_icons_container.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="0dp"
android:top="27dp"> <!-- How to make this 50% of height? -->
<rotate
android:fromDegrees="-45"
android:toDegrees="0"
android:pivotX="0%"
android:pivotY="0%"> <!-- How to make the triangle more acute? -->
<shape
android:shape="rectangle" >
<solid
android:color="@color/white"/>
</shape>
</rotate>
</item>
<item
android:left="10dp">
<shape
android:shape="rectangle">
<solid
android:color="@color/white"/>
<corners
android:radius="@dimen/border_radius_small"/>
</shape>
</item>
</layer-list>
结果是:
实际外观(放大)
我的问题是可绘制对象的三角形部分太宽。我该如何使其变得更加尖锐? (我的minSdkVersion是16,所以我不能在第一个项目上使用android_width
来尝试拉伸它。)
此外,我必须将第一项的android:top
硬编码为27dp
。是否可以将其设置为50%,以便在可绘制高度更改时可以正确调整?