MeasureCallbackScrollView.java 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.afollestad.materialdialogs.views;
  2. import android.content.Context;
  3. import android.util.AttributeSet;
  4. import android.widget.ScrollView;
  5. /**
  6. * @author Aidan Follestad (afollestad)
  7. */
  8. public class MeasureCallbackScrollView extends ScrollView {
  9. public MeasureCallbackScrollView(Context context) {
  10. super(context);
  11. }
  12. public MeasureCallbackScrollView(Context context, AttributeSet attrs) {
  13. super(context, attrs);
  14. }
  15. public MeasureCallbackScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
  16. super(context, attrs, defStyleAttr);
  17. }
  18. public static interface Callback {
  19. void onMeasureScroll(ScrollView view);
  20. }
  21. private Callback mCallback;
  22. public void setCallback(Callback mCallback) {
  23. this.mCallback = mCallback;
  24. }
  25. @Override
  26. protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
  27. super.onMeasure(widthMeasureSpec, heightMeasureSpec);
  28. if (mCallback != null)
  29. mCallback.onMeasureScroll(this);
  30. }
  31. }