I am going through test example. Where for some Image background they are using gradient, the code goes like this
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#ff0000"
android:centerColor="#00ff00"
android:endColor="#0000ff"
android:angle="180"/>
<corners android:radius="5dp" />
</shape>
In the above xml I didn't get angle
attribute. but when I change the value of angle
slightly the pattern slants. Can anyone explain me how exactly it works?
Gradient basically represents the variation in space(in a direction) of any quantity. With color it represents the variation of color intensity in a direction represented by angle. Here are some diagrams to represent this concept:
Here the figure shows the color variation in horizontal direction (angle is set 0).
XML code:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#000000"
android:angle="0"/>
</shape>
Here the figure shows the color variation in vertical direction (angle is set 90).
XML code:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#000000"
android:angle="90"/>
</shape>
You can also use different color as start, center and end colors. The code you attached contains all these elements.