A Better Material UI/UX SwipeRefreshLayout Style
When I was thinking of the designs for mypatco, I decided to use a pulling down gesture to handle user requests for updating train schedules. If your not familiar with android's UI/UX jump to what the images to get what I mean.
The Issue with my design
At first this is what I did and where I ran into trouble with is when I was loading in the data I would use a second spinner. The pull to refresh spinner would disappear but for a split moment both spinners would be in the user's view. This was a design fail in implementation, and I didn't better design for fixing this.
I don't like this version of the pull to refresh but I wanted to include it because I think its interesting it combines what I would call the old style of Google's spinner with a "pull to refresh" gesture. The correct way would be to use the material progress bar. The spinner used in this image is too large for its parent container and add extra content before the original content. A better way to do this would be to overlap the content like the previous one.
This style is similar as the previous but it does one things better it shows the user before hand that the content has a pull to refresh gesture. Whether its material design or not I like it because it provided info to the user.
Final Solution
My thoughts are to use the twitter's version combined with a material progress bar. As soon as the pull-to-refresh pulls up remove all text and don't show any content above the user other than a progress bar. Showing a second spinner overlapping the content could be used but without interfering with the progress bar above it. I don't have a image to show this because I had to remove the feature in mypatco since I'm using a real-time data system. Which wasn't completely needed but it helped correct other issues in my code. I will be using this solution in another android project, and come back with a image.
Resources
Default UI/UX |
At first this is what I did and where I ran into trouble with is when I was loading in the data I would use a second spinner. The pull to refresh spinner would disappear but for a split moment both spinners would be in the user's view. This was a design fail in implementation, and I didn't better design for fixing this.
Material Up version |
I don't like this version of the pull to refresh but I wanted to include it because I think its interesting it combines what I would call the old style of Google's spinner with a "pull to refresh" gesture. The correct way would be to use the material progress bar. The spinner used in this image is too large for its parent container and add extra content before the original content. A better way to do this would be to overlap the content like the previous one.
Twitter Example |
Final Solution
My thoughts are to use the twitter's version combined with a material progress bar. As soon as the pull-to-refresh pulls up remove all text and don't show any content above the user other than a progress bar. Showing a second spinner overlapping the content could be used but without interfering with the progress bar above it. I don't have a image to show this because I had to remove the feature in mypatco since I'm using a real-time data system. Which wasn't completely needed but it helped correct other issues in my code. I will be using this solution in another android project, and come back with a image.
Resources
- material design - indeterminate progressbar Android Support Library - Stack Overflow
- https://github.com/chrisbanes/ActionBar-PullToRefresh
- http://androidsurya.blogspot.com/2012/11/android-pull-to-refresh-listview-example.html
- http://www.tutecentral.com/android-pull-to-refresh/
- http://www.incredibleandros.com/swiperefershlayout-android-example/