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.