For a simple animation like this? That's a total overkill...

Am Montag, 18. März 2013 17:12:52 UTC+1 schrieb bob:
>
> Maybe use OpenGL?
>
>
>
> On Monday, March 18, 2013 8:53:18 AM UTC-5, user123 wrote:
>>
>> I'm trying to make one of these animations where an image "fades in" with 
>> tiles. (Note: I need this to work from Api 8)
>>
>> To do that, I created a black grid and put it on top of the image and 
>> using a handler, make each cell dissapear. 
>>
>> It works but the animation takes a bit more than 1 second, even when I 
>> post to the handler without any delay. This looks laggy and strange. The 
>> effect has to be very quick.
>>
>> I tried many things - using programmatically generated linearlayout with 
>> rows instead of grid, using fade out animation, using no animation at all, 
>> toggling visibility with View.GONE, or View.INVISIBLE, or just setting the 
>> background color to 0x00000000. Nothing helps, I can't make the animation 
>> quicker.
>>
>> I tested in 2.3 smartphone, in 4.2 smartphone and 4.2 tablet, all look 
>> the same. Well, in the 4.2 devices, the animation sometimes doesn't show at 
>> all - like it was executed already. But when it's visible, it's slow.
>>
>> Any advice on this? Or do I have to use a completly different approach? 
>> Is there a library to do this kind of effects, maybe?
>>
>> Here is my relevant code:
>>
>>     List<Integer> done = new ArrayList<Integer>();
>>     
>>     private Handler handler = new Handler();
>>     private Runnable fadeInRunnable = new Runnable() {
>>         @Override
>>         public void run() {
>>             if (!done.isEmpty()) {
>> //                int index = (int)(Math.random() * done.size());
>>                 int index = 0;
>>                 
>>                 int itemIndex = done.get(index);
>>                 int rowIndex = (int)Math.floor(itemIndex / ROWS);
>>                 
>>                 ViewGroup row = (ViewGroup)imageMask.getChildAt(rowIndex);
>>                 
>>                 View child = row.getChildAt(itemIndex - (rowIndex * 
>> ROWS));
>>                 
>> //                
>> child.startAnimation(AnimationUtils.loadAnimation(getActivity(), 
>> R.anim.fade_out_short));
>> //                child.startAnimation(anim);
>>                 child.setBackgroundColor(0x00000000);
>> //                child.setVisibility(View.INVISIBLE);
>>                 
>>                 done.remove(index);
>>                 
>>                 handler.post(this);
>> //                handler.postDelayed(this, 1);
>>             }
>>         }
>>     };
>>
>>
>> Thanks in advance,
>> Ivan
>>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to