@Override
 protected void onLayout(boolean changed, int l, int t, int r, int b) {
   super.onLayout(changed, l, t, r, b);
   updateSize(getMeasuredWidth(), getMeasuredHeight());
 }
 @Override
 protected void onLayout(boolean changed, int l, int t, int r, int b) {
   super.onLayout(changed, l, t, r, b);
   measuredHeight = measuredWidth = 0;
 }