public StickyHeaderScrollView(Context context, View header, int minHeightHeader, HeaderAnimator headerAnimator, ScrollView scrollView) : base(context, header, scrollView, minHeightHeader, headerAnimator) { // scroll events scrollView.ViewTreeObserver.AddOnGlobalLayoutSingleFire(() => headerAnimator.OnScroll(-scrollView.ScrollY)); scrollView.ViewTreeObserver.ScrollChanged += (sender, e) => headerAnimator.OnScroll(-scrollView.ScrollY); }
public StickyHeaderRecyclerView(Context context, View header, int minHeightHeader, HeaderAnimator headerAnimator, RecyclerView recyclerView, bool preventTouchBehindHeader) : base(context, header, recyclerView, minHeightHeader, headerAnimator, preventTouchBehindHeader) { SetupItemDecorator(); // scroll events recyclerView.AddOnScrollListener(new RecyclerScrollListener(this)); }
private StickyHeaderBuilder(Context context) { this.context = context; this.animator = null; this.header = null; this.minHeight = 0; }
protected StickyHeaderView(Context context, View header, View view, int minHeightHeader, HeaderAnimator headerAnimator) { this.context = context; this.header = header; this.view = view; this.minHeightHeader = minHeightHeader; this.headerAnimator = headerAnimator; MeasureHeaderHeight(); headerAnimator.SetupAnimator(header, minHeightHeader, heightHeader, maxHeaderTransaction); }
public StickyHeaderListView(Context context, View header, int minHeightHeader, HeaderAnimator headerAnimator, ListView listView) : base(context, header, listView, minHeightHeader, headerAnimator) { // fake header var lp = new AbsListView.LayoutParams(ViewGroup.LayoutParams.MatchParent, heightHeader); fakeHeader = new Space(context) { LayoutParameters = lp }; this.listView.AddHeaderView(fakeHeader); // scroll events this.listView.Scroll += (sender, e) => { var scrolledY = -CalculateScrollYList(); headerAnimator.OnScroll(scrolledY); }; }
protected StickyHeaderView(Context context, View header, View view, int minHeightHeader, HeaderAnimator headerAnimator, bool preventTouchBehindHeader) { this.context = context; this.header = header; this.view = view; this.minHeightHeader = minHeightHeader; this.headerAnimator = headerAnimator; this.preventTouchBehindHeader = preventTouchBehindHeader; MeasureHeaderHeight(); headerAnimator.SetupAnimator(header, minHeightHeader, heightHeader, maxHeaderTransaction); if (preventTouchBehindHeader) { header.Touch += OnHeaderTouch; header.LongClick += OnHeaderLongClick; } }
public virtual StickyHeaderBuilder SetAnimator(Func<AnimatorBuilder> headerAnimator) { this.animator = new SimpleHeaderStickyAnimator(headerAnimator); return this; }
public virtual StickyHeaderBuilder SetAnimator(HeaderAnimator headerAnimator) { this.animator = headerAnimator; return this; }