Hi, A good place to start is to look at the ApiDemos application to see if there is anything there close to what you want. The best I found is com.example.android.apis.view.Animation2, which uses a ViewFlipper to transition from one view to another with various animations. It's not exactly what we want, because we actually want to fade in/out a single view. But Animation2 does give us the names of the fading animations: android.R.anim.fade_in and android.R.anim.fade_out.
You can apply an animation to any view (and its children) by calling startAnimation(). So ... myView.startAnimation(AnimationUtils.loadAnimation(mContext, android.R.anim.fade_in)) ... would fade in the view and ... myView.startAnimation(AnimationUtils.loadAnimation(mContext, android.R.anim.fade_out)) ... would fade it out. The trick is that when the animation ends we want to change the visibility of the view. If we are fading in then at the end of the animation we want to make the view visible. If we are fading out then at the end of the animation we want to make the view invisible. Luckily, views have a onAnimationEnd() method that is called when the animation terminates. We can override this method and change the visibility of the view as appropriate. Because we want to override a method we will need a custom view. Our custom view might have methods like this: public void fadeIn() { startAnimation(AnimationUtils.loadAnimation(mContext, android.R.anim.fade_in)); mVisibilityOnAnimationEnd = VISIBLE; } public void fadeOut() { startAnimation(AnimationUtils.loadAnimation(mContext, android.R.anim.fade_out)); mVisibilityOnAnimationEnd = INVISIBLE; } @Override public void onAnimationEnd() { super.onAnimationEnd(); // make sure to chain up to superclass method setVisibility(mVisibilityOnAnimationEnd); } private int mVisibilityOnAnimationEnd; Anyway, that's the simplest way I can think of doing this. Anyone have other ideas? Now, we still need to figure out what View to extend. Every view accepts the onClick event, so we can extend ImageView. But the zoom control has two clickable images, so more likely we will need to extend a view group such as LinearLayout. Getting our view to appear now just requires calling fadeIn() and getting our view to disappear just requires calling fadeOut(). To get the view to disappear after a delay create a Handler and either send it a message with a delay or post a runnable with a delay. Hope that gets you started. Greg On Apr 4, 1:48 am, AllSet <fukangp...@gmail.com> wrote: > i am trying to make a control which looks like the ZoomControls. > > it is supposed to show up when clicking in a certain area and > disappear a few seconds later. > > also it should accept the onClick event. > > but i don't know exactly how to realize such a control. > > could anybody help me? > > thanks in advance! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---