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); }
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 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 StickyHeaderScrollView(Context context, View header, int minHeightHeader, HeaderAnimator headerAnimator, ScrollView scrollView, bool preventTouchBehindHeader) : base(context, header, scrollView, minHeightHeader, headerAnimator, preventTouchBehindHeader) { // scroll events scrollView.ViewTreeObserver.AddOnGlobalLayoutSingleFire(() => headerAnimator.OnScroll(-scrollView.ScrollY)); scrollView.ViewTreeObserver.ScrollChanged += (sender, e) => headerAnimator.OnScroll(-scrollView.ScrollY); // some properties scrollView.SetClipToPadding(false); }
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); }
public StickyHeaderRecyclerView(Context context, View header, int minHeightHeader, HeaderAnimator headerAnimator, RecyclerView recyclerView) : base(context, header, recyclerView, minHeightHeader, headerAnimator) { SetupItemDecorator(); // scroll events recyclerView.SetOnScrollListener(new RecyclerScrollListener(this)); }
public StickyHeaderListView(Context context, View header, int minHeightHeader, HeaderAnimator headerAnimator, ListView listView, bool preventTouchBehindHeader) : base(context, header, listView, minHeightHeader, headerAnimator, preventTouchBehindHeader) { // 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); }; }