我有创建聊天的任务。这是UI:
我试图绘制矩形和三角形,并在图层列表中组合这2个drawable,但它看起来很糟糕......
Rectangle.xml
<?xml version="1.0" encoding="utf-8"?>
<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="50dp"/>
<solid android:color="@color/message_cloud_client" />
<stroke android:color="@color/message_cloud_client_stroke" android:width="1dp"/>
</shape>
Triangle.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item >
<rotate
android:fromDegrees="45"
android:toDegrees="45"
android:pivotX="-40%"
android:pivotY="90%" >
<shape
android:shape="rectangle" >
<stroke android:color="@android:color/transparent" android:width="10dp"/>
<solid
android:color="#dce7f7" />
</shape>
</rotate>
</item>
</layer-list>
答案 0 :(得分:3)
您可以使用Nine-patch
图片执行此操作,而不是创建图层列表。在“九贴片”图像中,您可以指示调整图像大小时生长或缩小的矩形。但整个图像不受影响。以下是该工具的地址:
sdk\tools\draw9patch
打开文件。导入原始图像并在调整图像大小时受影响的原始图像内设置矩形。 (不要包含图片的边缘)。
此外,您可以使用支持库中现有的Vector
图像执行此操作。