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;
   }
 }
 /** Sets the size of the icon and the spacing between it and the message. */
 public void setIconSizeAndSpacing(int width, int height, int iconMessageSpacing) {
   LayoutParams lp = (LayoutParams) mIconView.getLayoutParams();
   lp.width = width;
   lp.height = height;
   lp.endMargin = iconMessageSpacing;
 }