Native Scrolling: Android Testers Wanted


I’m not sure if this is a issue.

  1. Scroll the list
  2. Click on some item in the list
  3. Then the app opens the item’s page
  4. Click on back button to return
  5. Then the list backs to the first item instead of maintain the previous state of scroll


improved performance but now the scroll bar is not shown


Performance is fantastic. Hardly distinguishable from native. Awesome work guys. :clap:

Hope collection-repeat gets supported soon :slight_smile:


The performance boost on scrolling is really significative, I’ve been testing on a Alcatel One Touch Pop C7(it is not the best phone in the market :smile: ) and it is amazing.


I was already using

<ion-content class="has-header" overflow-scroll="true">

in some selected views and don’t notice significant difference on those views between overflow-scroll and global disabling of jsScroll on Android.


angular.module('ionicApp', ['ionic']).config(function($ionicConfigProvider) {if(!ionic.Platform.isIOS())$ionicConfigProvider.scrolling.jsScrolling(false);})

just setting overflow-scroll=true for all views ?

Since a couple of nightlys (> 1000) I am facing undesired side effects even if I don’t disable jsScrolling in the .config() which I cannot use since I have some views using collection-repeat:

All my views with overflow-scroll=“true” do not scroll anymore on iOS.

Previously (I was using nightly 967) my views with overflow-scroll=“true” where scrolling fine on iOS and Android with the performance improvement due to native scrolling (with the feeling it also improved on iOS).

Now on iOS it refuses to scroll on those views (on Android it’s ok, in Chrome it scrolls by using the mousewheel).

Additionally in nightlys > 1000 when navigating through my views i get several of such messages:

Cannot read property 'removeEventListener' of undefined
at (http://localhost:8100/lib/ionic/js/ionic.bundle.min.js:22:11297)

It seems to occur when controller is released for controllers that have $on events such as:

                $scope.$on('$ionicView.afterEnter', function() {
        if (consoleDebug) {
            console.log('LibraryView afterEnter');


Rolling back to nightly 967 solves those problems. I’m posting it here because I suppose it’s related to Native Scrolling changes (at least the first problem).



Hi guys, new to the forums (btw, nice work! really great framework)

I’m testing native scrolling on my app on a nexus 5 with lollipop, and i’m getting this error:

Uncaught TypeError: Cannot read property 'freeze' of null,, Line: 6983

This happens when I try to scroll on the list (it is unscrollable on the device).

I’ve made this codepen

The error appears on the console after a scrolling attempt.

I don’t know if im doing something wrong

Thank you


Hey amazing work guys!

@perry do you have any release date for when collection repeat will be supported?



Collection repeat is the trickiest one to support, and I’m saving it for last. My plan is to fix a few more bugs, get the $scrollDelegate methods working, support list reordering, work on collection-repeat, then focus on a few more issues, particularly around form elements and keyboard visibility.


Thanks MatiMenich, a recent unrelated fix caused this. Should be an easy fix though.


pjusto, I fixed that last night. Should be in there now. Note, I kept them disabled on desktop since many scrollbars wind up taking 15-20px of the element that scrolls. The thinking is that it’s best to have the DOM match how it’d be on mobile as closely as possible, even if that means hiding scrollbars on Desktop.


After beta 14, that should not be the case. I’ll look in to it. thanks.


elmurci, we recently switched to svg animated icons, but supported old spinning font icons for backwards compatibility, which are you using?


Hi perry, I am using svg


FWIW I tried testing the latest nightly on friday on an Android 5.0.1 device. Quite buggy:

  • as mentioned before the ion-refresher was broken
  • the loaders didn’t spin anymore (updated template: '<i class="icon ion-loading-d"></i>' to template: '<i class="icon ion-load-d"></i>' showed the loading icon but no spin)
  • on a screen I have an ion-list with ion-item ng-repeat=".." nested within a regular div ng-repeat="..", all within an ion-content (makes sense?) to show a list of lists basically. On b14 the scrolling works, on master it doesn’t. Stuck on the first view.


Hello, here are my result with native scrolling, hope this helps
I have setup the tab default application with friend service returning 1000 records.
I have setup 3 tabs displaying the results 1 using collection repeat / 1 using / 1 using classic ng-repeat with ion-item

Using beta 14 without overflow-scroll=“true” :

  • Collection-repeat : fast display but slow scrolling
  • : slow display, faster scrolling
  • ng-repeat : slow display, slow scrolling

Using beta 14 with overflow-scroll=“true” :

  • Collection-repeat : no display
  • : slow display, native like scrolling
  • ng-repeat : slow display, native like scrolling

Using nightly-1042 with or without overflow-scroll=“true” :

  • Collection-repeat : no display
  • : slow display, native like scrolling
  • ng-repeat : slow display, no scrolling

Hope this helps !


Thanks :smiley:

I’ll test it soon.

You guys are Awsome!


@robotvert, thanks. Ionic is moving away from spinning font icons, you’ll want to use animated SVG spinners now.

For the nested repeats, could you provide an example in codepen or something like it that demonstrates the problem?


@pstanislas Andrew is making some significant collection-repeat improvements as we speak. Check the nightlies soon for that. Currently, collection repeat does not support native scrolling. Stay tuned there. With scrolling, that’s not something we’re going to go out of our way to support, but good to know how it compares.

I’m curious about that ng-repeat with the nightlies. Could you provide an example demonstrating that? Having trouble reproducing it.


I confirm that with the last nightly, it’s impossible to scroll anymore on my Nexus. It’s working fine on the Chrome Emulator, but not on the device itself


@Riron, at all or just when you use the code snippet above. Can you provide an example to reproduce this?