void setHorizontalMode(int horizontalSpacing, int startMargin, int endMargin) {
   isStacked = false;
   for (int i = 0; i < views.length; i++) {
     LayoutParams lp = (LayoutParams) views[i].getLayoutParams();
     lp.startMargin = i == 0 ? startMargin : horizontalSpacing;
     lp.topMargin = 0;
     lp.endMargin = i == views.length - 1 ? endMargin : 0;
     lp.bottomMargin = 0;
   }
 }
 void setVerticalMode(int verticalSpacing, int bottomMargin) {
   isStacked = true;
   for (int i = 0; i < views.length; i++) {
     LayoutParams lp = (LayoutParams) views[i].getLayoutParams();
     lp.startMargin = 0;
     lp.topMargin = i == 0 ? 0 : verticalSpacing;
     lp.endMargin = 0;
     lp.bottomMargin = i == views.length - 1 ? bottomMargin : 0;
   }
 }