I've read so many threads on how this has been fixed. It certainly is not. The example in the docs doesn't even work. Here it is for reference
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();In iOS it will rotate from its respected anchor point. On android it will only rotate from the center. I am using Ti SDK 3.2.1 and testing on a Galaxy S4. Any ideas?
Old posts
- http://developer.appcelerator.com/question/117455/anchorpoint-not-working-on-android
- http://developer.appcelerator.com/question/160964/android-anchorpoint-not-working