I have used the <layer-list> tag in android quite often to do various stuff like adding shadows and background to views, creating custom shapes, etc. Whatever I needed was always there some where on the internet. So I copied it and used it as it is. 
But I want to know how <layer-list> actually works? How <items> are ordered to achieve the right shape or effect? I want to know so that every time when there is a need for some custom shape or effect I can do it by myself. 
I consider <layer-list> a very powerful tool in android to create anything you want. I have done a decent amount of search on it since the time I am developing on android but I wasn't able to find any proper documentation or tutorial where there could be something like a step-by-step guide or explanation to create the shape or effect of your choice. 
If someone can explain it to me then that would be great. Thanks in advance!!
