Android 创建控件背景方法

目前使用到或者了解到的主要有以下几种

1. 使用自带的android:evalation

    使用效果看起来并不是很明显,依次为0dp 10dp和50dp


2. 使用layer-list,添加gradient进行模拟

这个时候需要添加前后两个图层,前面用于渐变,用gradient处理,后面的基本就是一个纯色背景图了

这个也有渐变效果,而且具体渐变距离自由调控,但是有一个问题,也就是渐变所模拟的模糊效果,是占据实际空间的,对于点击事件会有影响

3. 使用software layer, 使用这种方法需要注意失效的场景,需要关闭硬件加速,方法参考如下

    在AndroidManifest.xml中设置android:hardwareAccelerated="false",注意关闭整个app的硬件加速,慎用!

    View有个方法支持单独的View关闭硬件加速,可以设置mView.setLaterType(View.LAYER_TYPE_SOFTWARE);

关于硬件加速,可参考https://www.jianshu.com/p/40f660e17a73 

你可能感兴趣的:(Android 创建控件背景方法)