android - TransitionDrawable not working inside custom view's onDraw -


i trying start transitiondrawable starttransition() method inside ontouchevent() of custom view. shows first image in xml file. works on imageview's setdrawable() method. combining these 2 possible or there other alternative show similar transition in custom view.

transition.xml:

<?xml version="1.0" encoding="utf-8"?> <transition xmlns:android="http://schemas.android.com/apk/res/android">     <item android:drawable="@drawable/ic_icon_lock"/> // image shown     <item android:drawable="@drawable/ic_icon_unlock"/> </transition> 

initializer:

mlocktransitionaldrawable = (transitiondrawable)             resourcescompat.getdrawable(mresources, r.drawable.transition, mcontext.gettheme()); 

ondraw() custom view:

mlocktransitionaldrawable.setbounds(mlockrect);     mlocktransitionaldrawable.draw(canvas); 

fired when action down happens inside rectangle(mlockrect) containing drawable:

 mlocktransitionaldrawable.starttransition(1000); // not change drawable layer invalidate() requestlayout() not working either 

i looking simple solution because of time constraints.

thanks pskink's comment got working. heres relevant code.

create drawable.callback object or implement it:

mlocktransitioncallback = new drawable.callback() {         @override         public void invalidatedrawable(drawable who) {             log.e("invalidate called", "yes");             invalidate(mlockrect);// don't call invalidate() invalidate whole canvas invalidating region want redraw          }          @override         public void scheduledrawable(drawable who, runnable what, long when) {             new handler().postattime(what, who, when);// start animation          }          @override         public void unscheduledrawable(drawable who, runnable what) {             log.e("unschedule called","yes");         }     }; 

set callback:

mlocktransitionaldrawable.setcallback(mlocktransitioncallback); 

Comments

Popular posts from this blog

Magento/PHP - Get phones on all members in a customer group -

php - .htaccess mod_rewrite for dynamic url which has domain names -

Website Login Issue developed in magento -