Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-16596

Android: Animation anchorPoints not working

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Low
    • Resolution: Fixed
    • Affects Version/s: Release 3.2.1
    • Fix Version/s: Release 7.3.0
    • Component/s: Android
    • Environment:
      • testing on galaxy s4
      • Ti SDK 3.2.1

      Description

      The animation anchor points are no longer working for android as of SDK 3.2.0. The demo in the docs doesn't even work. Here is the code you can use to test (copied from docs)

       
      var animationType = [
        { name: 'Top Left', anchorPoint: {x:0, y:0} },
        { name: 'Top Right', anchorPoint: {x:1, y:0} },
        { name: 'Bottom Left', anchorPoint: {x:0, y:1} },
        { name: 'Bottom Right', anchorPoint: {x:1, y:1} },
        { name: 'Center', anchorPoint: {x:0.5, y:0.5} }
      ];
      var animationTypeLength = animationType.length;
      var animationCount = 0;
      var animationTypePointer = 0;
       
      var t = Ti.UI.create2DMatrix();
      t = t.rotate(90);
       
      // animation properties
      var a = {
        transform: t,
        duration: 2000,
        autoreverse: true
      };
       
      Ti.UI.backgroundColor = 'white';
      var win = Ti.UI.createWindow();
       
      var view = Ti.UI.createView({
        backgroundColor:'#336699',
        width:100, height:100
      });
      win.add(view);
       
      var button = Ti.UI.createButton({
        title:'Animate ' + animationType[animationTypePointer].name,
        height: (Ti.UI.Android) ? 80 : 40,
        width: (Ti.UI.Android) ? 300 : 200,
        top:30
      });
      win.add(button);
       
      function updateButton(name){
        button.title = 'Animate ' + name;
      }
       
      button.addEventListener('click', function(){
        // set new anchorPoint on animation for Android
        a.anchorPoint = animationType[animationTypePointer].anchorPoint;
        
        // set new anchorPoint on view for iOS
        view.anchorPoint = animationType[animationTypePointer].anchorPoint;
        
        animationCount++;
        
        // determine position of next object in animationType array or return to first item
        // using modulus operator
        animationTypePointer = animationCount % animationTypeLength;
        
        // animate view, followed by callback to set next button title
        view.animate(a, function(){
          updateButton(animationType[animationTypePointer].name);
        });
      });
       
      win.open();
      

      When I test, it only animated from its center point. I noticed that it works in SDK 3.1.3 but is broken as of 3.2.0

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                ybanev Yordan Banev
                Reporter:
                rondog Ronnie Swietek
                Reviewer:
                Joshua Quick
                Tester:
                Lokesh Choudhary
              • Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    TIMOB-18452
                    Sync status:
                    ERROR
                    Last received:
                    Last sent:

                    Git Source Code