반응형
Scroll할때 상단에 닿으면 붙는 sticky한 커스텀 토글 제작..
- ScrollView 안에 Grid, Grid안에 토글과 하단의 flexlayout 을 겹치게 배치 (row를 동일하게하면됨)
- 위치는 마진값을 조정
- Y값은 해당 뷰의 절대좌표, translationY는 상대좌표. 처음에 0임. SizeChanged 이벤트가 발생하면 토글의 Y를 저장 (스크롤할때 상단에 닿았는지 확인용)
- ScrollView의 eventargs.scrolledY가 저장해둔 토글의 Y값보다 커지면 토글의 translationY에 (e.scrolledY - 토글Y) 대입
- 토글Y값보다 작아지면 토글의 translationY에 0 대입
#region Sticky Toggle
private void BottomContentToggle_SizeChanged(object sender, EventArgs e)
{
bottomContentToggle.SizeChanged -= BottomContentToggle_SizeChanged;
_toggleY = bottomContentToggle.Y;
}
private void ScrollView_Scrolled(object sender, ScrolledEventArgs e)
{
bottomContentToggle.TranslationY = e.ScrollY > _toggleY ? e.ScrollY - _toggleY : 0;
}
#endregion
반응형
'프로그래밍 > App 개발' 카테고리의 다른 글
[Xamarin] Xamarin.Forms iOS Distribution (2021) (0) | 2021.04.21 |
---|---|
[Xamarin] Xamarin.Forms Custom BottomSheet (source code) (0) | 2021.04.21 |
[Xamarin] collectionview 안에서의 command (MVVM) (2) | 2021.04.01 |
[Xamarin] TabbedPage tab 처음 이동시 OnAppearing 호출 안되는 현상 해결법 (0) | 2021.02.25 |
[Xamarin] ScrollView with TapGesture Error (0) | 2021.01.26 |