You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android:如何用XML/Vector实现信封样式背景?

用Vector Drawable实现带顶部透明三角形的纯色矩形

当然可以!Android的Vector Drawable完全能搞定这个需求,而且矢量图在任何分辨率下都不会模糊,简直是完美选择。下面直接给你实现代码和详细解释:

完整Vector代码示例

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="200dp"
    android:height="150dp"
    android:viewportWidth="200"
    android:viewportHeight="150">

    <!-- 带顶部镂空三角形的矩形 -->
    <path
        android:fillColor="#FF6200EE" <!-- 替换成你需要的纯色填充 -->
        android:fillType="evenOdd" <!-- 关键:奇偶填充模式实现镂空 -->
        android:pathData="M0,0 L200,0 L200,150 L0,150 L0,0 
                          M90,0 L100,10 L110,0 L90,0" />
</vector>

代码细节说明

  • 视图坐标系:android:viewportWidth和android:viewportHeight是Vector的虚拟画布尺寸,我这里设为200x150,用整数坐标更容易调整形状。width和height是Drawable的实际显示尺寸,你可以按需修改。
  • 路径绘制逻辑:
    • 第一行路径M0,0 L200,0 L200,150 L0,150 L0,0是绘制一个完整的大矩形,覆盖整个Vector区域。
    • 第二行路径M90,0 L100,10 L110,0 L90,0是在矩形顶部中心绘制一个小三角形,顶点向下深入矩形内侧10个单位(对应viewport的坐标)。
  • 镂空实现核心:android:fillType="evenOdd"是关键属性,这个填充规则会让路径的重叠区域(也就是三角形所在的位置)不被填充,直接呈现透明效果,完美透出下层内容,不管你的背景是纯色还是复杂图案都适用。

自定义调整建议

  • 修改三角形大小:调整90,0、100,10、110,0这三个坐标——比如把90和110改成85和115,三角形就会更宽;把10改成15,三角形就会更长。
  • 更换矩形颜色:直接修改android:fillColor的值即可,支持ARGB颜色码。
  • 调整整体尺寸:修改android:width和android:height的dp值,或者调整viewport的数值来精细控制比例。

内容的提问来源于stack exchange,提问作者Dionis Beqiraj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:50:05