先上一张样图

真是一个奇怪的需求,一般来说,都是直接用图片背景来实现这个样式。
不过为了压缩apk的体积,也可以找一些方法用android自带的layer-list来实现。
首先这其实是2部分组成的layer-list,上面一层是倾斜的灰色长方体,下面一层是渐变的长方体
先实现下面一层,渐变长方体
<item>
<shape android:shape="rectangle">
<!-- rectangle表示为矩形 -->
<!-- 渐变的颜色 -->
<gradient
android:angle="0"
android:centerX="0.5"
android:centerY="0"
android:endColor="@color/weight_blue"
android:startColor="@color/weight_green" />
</shape>
</item>使用shape指定图形,使用gradient来实现渐变,很容易理解,从绿色开始到蓝色结束
接着定义一个灰色背景的长方体
<item>
<shape android:shape="rectangle">
<solid android:color="@color/main_bg" />
</shape>
</rotate>
</item>这样第二个长方体会覆盖在第一个长方体上,并且因为不是透明的,所以就完全看不见第一个长方体了
最后我们把这个长方体进行旋转,并且设置XY轴偏移
<rotate
android:fromDegrees="105"
android:pivotX="86%"
android:pivotY="100%"
android:toDegrees="45">当pivotX设置50%时,表示在当前控件的左上角加上自己宽度的 50% (即自身宽度中心)作为起始点
这几个参数要针对需求具体调试
可以参考图解 Android 动画中 android:pivotX 和 android:pivotY 属性的含义