update for lay out 

1.update lay out reader and samples
2.update for widget percent position and size logic
3.update lay out reader and samples
why not use 0 or 1 to represent boolean value? If so, the loading and parsing speed will be faster.