2013-02-17 75 views
0

我在主屏幕小部件上有一个ImageView,当前图像是静态的。 但我想让图像闪烁,就像自动开启和关闭一样。开启和关闭主屏幕上的小部件图像

图像不断闪烁green -> red -> green就像一个警笛。

最初形象是红色

用户点击了红色的图像,它闪烁的星星,从红色到绿色快速

用户标签再次停止闪烁,并设置为红色的

谢谢提前

+0

你应该采取的ApiDemos偷看。我认为'ApiDemos/src/com/exmaple/android/apis/graphics/ShapeDrawable1.java'演示了一些与你想要做的事情接近的东西。 – 2013-02-17 06:47:18

+0

首先,我有两个图像绿色和红色,所以ShapeDrawable不是一个解决方案,此外,我希望它在主屏幕Widget – Hunt 2013-02-17 07:01:01

回答

1

您可以用XML中的ViewFlipper来完成此操作。要启动/停止闪烁,您可以使用远程查看方法setViewVisibility()redOnlyredAndGreen之间切换。

<FrameLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

<ImageView 
    android:id="@+id/redOnly" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:src="@drawable/red" /> 

<ViewFlipper 
    android:id="@+id/redAndGreen" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:animateFirstView="false" 
    android:autoStart="true" 
    android:flipInterval="700" 
    android:measureAllChildren="true"> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:src="@drawable/green" /> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:src="@drawable/red" /> 
</ViewFlipper> 

+0

如果我使用'setViewVisibility'将从主屏幕上移除部件。我想要的是如果我点击一个图像,它开始闪烁'绿色到红色',然后再次点击它停在红色 – Hunt 2013-02-17 09:55:34

+0

编辑我的答案做你的要求。您将不得不使用pendingIntents来捕获点击。如果你需要的话,我可以添加一些代码。 – paul 2013-02-17 17:58:36

+0

雅我添加了待处理的点击,但是当我点击viewflipper时,我将如何开始动画? – Hunt 2013-02-17 18:10:58