This is a migrated thread and some comments may be shown as answers.

Sticky Header animation

2 Answers 104 Views
JumpList
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
ManniAT
Top achievements
Rank 2
ManniAT asked on 25 Apr 2012, 02:15 PM
Hi,

I'm using the RadJumpList with sticky header enabled.

This works fine so far - but there are some issues (optical).
First - when I bring a specific item into view it sometimes happens that the header of the group with the selected item overlays with the sticky header.
Not much - but it looks really bad.
This also happens sometimes with scrolling.

And it is also possible to scroll to a point where the sticky header shows the "old group" while the header of the new
group is underneath it (and therefore hidden).


Your animation works like this (Y is the current header A the new one):
YYYYYYY
YYYYYYY
YYYYYYY
AAAAAAA
AAAAAAA
AAAAAAA
next the "new header" goes below the sticky one
YYYYYYY
YYYYYYY
YYYYYYY
AAAAAAA
next the sticky header shows the text of the new group
AAAAAAA
AAAAAAA
AAAAAAA


Is there a way to implement the "original Mango behavior"?
It works by "pushing out" the sticky header like this:
YYYYYYY
YYYYYYY
YYYYYYY
AAAAAAA
AAAAAAA
AAAAAAA
next the "new header" pushes up the sticky header
YYYYYYY
YYYYYYY
AAAAAAA
AAAAAAA
AAAAAAA
And further pushing
YYYYYYY
AAAAAAA
AAAAAAA
AAAAAAA
finally the old header is gone
AAAAAAA
AAAAAAA
AAAAAAA

I guess this is not possible by changing templates and triggers.

But I think it would be great to have this "real mango sticky header" in your control.

Manfred

2 Answers, 1 is accepted

Sort by
0
RoboticPet
Top achievements
Rank 1
answered on 01 May 2012, 06:35 AM
I would like this as well!  I think by "real mango sticky header" he means the sticky header behavior that is in the People app on WP7.
Having the headers push each other out of the way is more intuitive (I think) and would prevent the timing weirdness I have seen regarding the stuck header switching to the next one too late (e.g. in the Examples app > Jump List > phone book, with sticky header selected, I can sometimes make it happen that the stuck header doesn't switch from (a) to (b) until I'm already on the second (b) item).

0
Accepted
Deyan
Telerik team
answered on 02 May 2012, 07:30 AM
Hi guys,

Thanks for bringing up this topic as there are some facts that need to be clarified.

The native sticky header behavior in Mango translates the letter visible in the header following the scrolling position of the jump list, specifically of the new-coming data group. This means that, to implement the same behavior in RadJumpList, we need to track the scrolling position of the ScrollViewer (used in RadJumpList) per pixel and translate the contents of our sticky header accordingly. As you may already now, with Mango Microsoft introduced some major improvements in the way the  ScrollViewer works. A new Manipulation Thread was introduced which performs the scrolling and thus offloads the UI thread to do UI virtualization (as you may recall there were many complaints about the poor scrolling performance on the previous version of Windows Phone - NoDo). Part of the performance improvements is also the approach of not constantly updating all ScrollViewer properties (ScrollOffset  etc.) on the UI thread. This makes it very difficult to track the scrolling position and thus implement exactly the same Sticky Header behavior as seen on the native JumpList (I guess native APIs are used there).

You can read more about these performance improvements and their limitations here:

http://blogs.msdn.com/b/slmperf/archive/2011/06/02/listbox-scrollviewer-performance-improvement-for-mango-and-how-it-impacts-your-existing-application.aspx 


I hope this is helpful.

Regards,
Deyan
the Telerik team

Explore the entire Telerik portfolio by downloading the Ultimate Collection trial package. Get it now >>

Tags
JumpList
Asked by
ManniAT
Top achievements
Rank 2
Answers by
RoboticPet
Top achievements
Rank 1
Deyan
Telerik team
Share this question
or