android - How do I get Bitmap from a TransitionDrawable -
i have transitiondrawable bitmap need. when use getcurrent() drawable, apparently result still transitiondrawable. truth transitiondrawable created in class using
final transitiondrawable td = new transitiondrawable(new drawable[] { new colordrawable(android.r.color.transparent), drawable }); where drawable bitmapdrawable. if try cast as
bitmap bmp = (bitmapdrawable) transitiondrawable.getcurrent(); then class cast exception.
for context, transitiondrawable in line 378 of imageworker of bitmapfun.
transitiondrawable inherits layerdrawable can use finddrawablebylayerid(int id) specific drawable.
example: using btn_toggle_bg.xml android sources (4.4.1)
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+android:id/background" android:drawable="@android:drawable/btn_default_small" /> <item android:id="@+android:id/toggle" android:drawable="@android:drawable/btn_toggle" /> </layer-list> and assuming acquired in transitiondrawable object:
drawable d = transitiondrawable.finddrawablebylayerid( android.r.id.background ); the background id defined android, that's why r scoped android. if created id in own app <item android:id="@+id/mylayerid" ... , find .finddrawablebylayerid( r.id.mylayerid );
when build transition drawable in code need assign each drawable .
transitiondrawable.setdrawablebylayerid( android.r.id.background, new colordrawable(..) ); if id doesn't exist, added layer id.
hope helps
Comments
Post a Comment