[TIMOB-24963] Android: Add scrollToTop() to ScrollView
GitHub Issue | n/a |
---|---|
Type | New Feature |
Priority | Critical |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2017-11-16T00:48:31.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 7.0.0 |
Components | Android |
Labels | n/a |
Reporter | Michael Gangolf |
Assignee | Hans Knöchel |
Created | 2017-07-14T18:15:47.000+0000 |
Updated | 2017-11-16T01:54:17.000+0000 |
Description
Currently ScrollView has a
scrollToBottom()
method but no scrollToTop()
. While this can be achieved with scrollTo(0,0)
the new scrollToTop()
uses FOCUS_UP to scroll to the top position in order to solve nested problems (see: https://stackoverflow.com/a/44046801/5193915)
Example:
var win = Ti.UI.createWindow({backgroundColor: '#fff'});
var view1 = Ti.UI.createView({width:20,height:20,backgroundColor:"#f00",top:0});
var view2 = Ti.UI.createView({width:20,height:20,backgroundColor:"#f0f",top:800});
var scrollView = Ti.UI.createScrollView({height:Ti.UI.FILL,width:Ti.UI.FILL});
var btn1 = Ti.UI.createButton({title:"scrollUp",top: 10,left:0});
var btn2 = Ti.UI.createButton({title:"scrollDown",bottom:10,left:0});
btn1.addEventListener("click",function(e){scrollView.scrollToTop()});
btn2.addEventListener("click",function(e){scrollView.scrollToBottom()});
win.add(scrollView);
win.add(btn1);
win.add(btn2);
scrollView.add(view1);
scrollView.add(view2);
win.open();
PR: https://github.com/appcelerator/titanium_mobile/pull/9221
[~michael] We should think about parity here as well. I made a PR to your [PR-branch](https://github.com/m1ga/titanium_mobile/pull/2) to do so, if possible, we should think about Windows as well (cc [~kiguchi]).
Created TIMOB-24964 to track this for Windows.
iOS part is merged. Thank you
PR (master): https://github.com/appcelerator/titanium_mobile/pull/9601
FR passed; waiting for CR before merging.
PR Merged.
Verified the fix in SDK 7.0.0.v20171115153702. Closing.