2012-02-10 71 views
33

我有一个简单的选择我的ListView动画选择/状态转换

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

    <item android:drawable="@drawable/yellow_arc" android:state_activated="true"/> 
    <item android:drawable="@drawable/yellow_nonarc" android:state_activated="false"/> 

</selector> 

我想,当意见的状态从激活到未激活的和正相反改为动画这些绘图资源之间的过渡。

如果您在API演示中运行example,则会在视图的激活状态发生更改时看到明显的淡入/淡出动画。

所以我想要的是一个自定义动画,而视图的状态发生了变化。我认为这应该通过XML完成,但我找不到方法。

在此先感谢。

编辑:

我想我已经找到有用的东西有一个在\Android\android-sdk\platforms\android-API_VERSION\data\res\drawable包括

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
     android:exitFadeDuration="@android:integer/config_mediumAnimTime"> 
    <item android:state_activated="true" android:drawable="@android:drawable/list_selector_background_selected" /> 
    <item android:drawable="@color/transparent" /> 
</selector> 

所以在API-演示achieveing这个淡出动画的例子activated_background.xml通过宣布exitFadeDuration。但是,这不完全是我想要的 ..我想声明自定义动画的状态可绘制之间的过渡,因为淡入/淡出动画不适合我的绘图。

回答

0

是你想要的淡入淡出吗?

我想这将是相同的textSwitcher是如何工作的,也许你想要将其更改为ViewSwitcher相反,淡入淡出做亲语法


Animation in = AnimationUtils.loadAnimation(this, 
       android.R.anim.fade_in); 
     Animation out = AnimationUtils.loadAnimation(this, 
       android.R.anim.fade_out); 

     mSwitcher1.setInAnimation(in); 
     mSwitcher1.setOutAnimation(out); 

+0

A ** TextSwitcher **不是一个好的解决方案。如果我使用它,我必须处理** ListView **中的视图回收机制,因为每个列表项目都会有一个**单独的**切换器。所以这将是一个矫枉过正的问题。我尝试了类似的东西,很难处理。我相信最好使用选择器,因为它们可用,并自己处理选定/未选择的机制。 – 2012-02-10 01:48:30