我想创建一个滚动计数器,按照我为Android应用程序提供的速率上升,我觉得没有Android小部件在SDK中做得很好,我想知道如何实现这一点,或者更好的围绕这个想法的开源项目。
图片示例:
答案 0 :(得分:5)
这可能不是一个完美的答案,但至少是一个起点。折扣动画和一般的幻想,你可以通过用一些花哨的XML装饰TextView来获得大部分的方式。我将分享几年前我做的事情,为小费计算器制作一个外观相似的屏幕区域:
这是XML。每个数字都是一个TextView,因此您可以单独更改它们。我在这里展示了两个,但显然下面的截图有5个。
<TextView
android:id="@+id/tv1"
android:layout_width="60dip"
android:layout_height="140dip"
android:background="@drawable/gradient"
android:textSize="64sp"
android:gravity="center"
android:typeface="serif"
android:textColor="#FFFFFF"
/>
<TextView
android:id="@+id/tv2"
android:layout_width="60dip"
android:layout_height="140dip"
android:background="@drawable/gradient"
android:textSize="64sp"
android:gravity="center"
android:typeface="serif"
android:textColor="#FFFFFF"
/>
我创建的“drawable / gradient”作为单独的可绘制文件:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dip"
android:color="#fbbb"
/>
<solid android:color="#600000"/>
<layout_margin android:layout_margin="1dip"/>
<gradient
android:startColor="#000000"
android:centerColor="#6D6D6D"
android:endColor="#000000"
android:angle="270"
/>
这是最终结果(在线性布局中):
答案 1 :(得分:2)
除了raggedToad的回答:您可以使用ViewAnimator
类为您的计数器添加动画。它易于使用。您可以对其进行扩展,在onCreate()
中添加所有数字文字视图。实现一个处理递增操作的方法increment
。只需致电showNext
即可转到下一个视图。
答案 2 :(得分:1)
我很确定截图中的这个特定计数器对于从一个数字到下一个数字的每次转换都有一些短动画(约5或10帧)。也许还有一些更多用于显示快速过渡但没有实际停止在特定数字处更多模糊。
所以主要任务是创建图形。然后,这只是在正确的时间显示正确的框架。
答案 3 :(得分:1)
有一个开源项目可以完成你想要做的事情。 检查:http://code.google.com/p/android-wheel/