Android-关于背景渐进色颜色方向处理
布局(View)背景渐进色方向问题
背景渐进色在项目中用的比较多,本文主要蹋牛如何正确的使用UI提供的颜色,得到正确的颜色渐变。
举例说明
我们看下通常UI提供的颜色方案,这里以蓝湖为例,如下图:
UI效果如下:
相关颜色方案如下:
相关颜色代码如下: 代码片
.
<item android:width="360dp" android:height="693dp">
<shape android:shape="rectangle">
<solid android:color="#ff4e6dcf" />
<gradient
android:type="linear"
android:useLevel="true"
android:startColor="#ff26265f"
android:endColor="#ff0d101e"
android:angle="0" />
</shape>
</item>
再看按照此方案出来的效果:
上述效果,与UI设计效果差距很大,想了解出现这种状况的原因,就得知道android中颜色渐变的方向和设置限制。
Android颜色设置相关规则
渐变的时候,最原始的,
即android:angle=“0”时,是从左到右,
按照开始颜色到结束颜色来渲染的,
android:angle=“90”是从下到上来渲染的,
android:angle=“270”是从上到下来渲染的,
android:angle=“180”是从右到左来渲染的,
android:angle=“360”和android:angle=“0”是一样的。
渲染时按照最原始的渲染色板(把控件内部看作一块可以绕中心旋转的板子)
围绕控件中心来逆时针旋转相应的度数,
即android:angle里面的值就是所需要旋转的角度,
只是这个旋转角度必须是45的整数倍。
最后的修改效果如下
看修改过的效果:基本实现了上浅下深的线性渐变。
代码片
.
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#ff4e6dcf" />
<gradient
android:type="linear"
android:useLevel="true"
android:startColor="#0D101E"
android:endColor="#ff26265f"
android:angle="90" />
</shape>
angle =90°,出上到下的颜色设置,即可完成相关效果。