Android:动画图片?

时间:2011-02-15 11:30:01

标签: android animation imageview

我有一个带有多个ImageView的栏,每个都用作一个按钮(通过使用OnClickListener)。现在我想要实现的是当用户按下图像时,图像周围会出现某种发光效果(就像你在iphone上按下barButton一样)。

这可能吗?

3 个答案:

答案 0 :(得分:1)

这是可能的。实现这一目标的正确方法是定义StateList Drawable statelist为每个州定义了一个单独的drawable。

例如,下面的xml定义了一个drawable,它显示了按下按钮时的blue_button_pressed drawable和所有其他情况下的blue_button_active drawable。

<?xml version="1.0" encoding="utf-8"?>
<selector
 xmlns:android="http://schemas.android.com/apk/res/android">

 <item
  android:state_pressed="true"
  android:drawable="@drawable/blue_button_pressed"/>

 <item
  android:drawable="@drawable/blue_button_active"/>

</selector>

您将此文件放在drawable文件夹中,就像任何其他图像一样,并且在布局文件中引用它,就像任何其他可绘制文件一样。

答案 1 :(得分:0)

由于某种原因,大多数视图实际上并没有动画可动画的Drawables。为此,您必须通过调用start()(或AnimationDrawable上的Animatable方法手动启动动画。

虽然出于某些奇怪的原因,但在将Drawable设置为View之后,您无法立即执行此操作。相反,您可以尝试将开始调用发布到处理程序,以便在Drawable的初始设置和动画开始之间有一段时间。

没有时间找出它为什么会这样,但这是我最终要做的事情。

答案 2 :(得分:-1)

您可以手动生成此发光效果作为背景图片,并使其在单击时显示为实际图像后面的父视图。但我认为没有任何原生功能。