【问题标题】:Create stopwatch timerclock countdown timer with image flip every second android创建秒表计时器时钟倒数计时器,图像每秒翻转一次android
【发布时间】:2013-01-14 12:12:14
【问题描述】:

我在网上看了很多,但只找到了如何每秒更改文本或显示几毫秒的示例。

当秒变时,我正在使用这些示例更改图片,但计时器不再准确。在图像更改时,应用会以大约 20 毫秒或 200 毫秒的随机延迟响应。

我使用带有 postDelayAsynTask 的 Runnable 类,其中 onPostExecute 刷新 UI,但两者的工作延迟完全相同。

每秒更换图片的最佳做法是什么? 并且在未来我有一个想法,每秒开始 5 张图像的动画(更花哨的时钟计时器)。

我会发布我的代码,但现在我发现的所有示例真的是一团糟。

【问题讨论】:

    标签: android image timer countdown stopwatch


    【解决方案1】:

    你还没有分享代码,所以我只能猜测,

    我建议将图像作为位图或已初始化的可绘制对象,可能在哈希表中。

    之后,启动计时器并将替换图像的代码放在正确的位置。 重点是除了替换线程中的图像之外,您不应该花时间。

    已编辑: 如果你想通过代码做到这一点:

    在开始您的动画之前,创建一个位图数组,而不是可绘制的 id(或 Drawble 类的对象)。 为什么,因为您需要节省系统花费在从您在数组中提供的 id 创建位图然后设置为您的图像视图的时间。

    此外,您可以为此使用 AnimateDrawbles,它非常容易优化且可靠。

    这是sample。 只需根据需要调整 xml 中的持续时间变量即可。

    【讨论】:

    • 感谢您的快速重播。我在 res/drawable 文件夹中有我的图片,并将它们的参考存储在数组“imageArray”中,然后像这样使用它: second.setImageResource(imageArray[number_second]);每秒更改变量“number_second”并更改图片。这个例子对我有很大帮助。
    • @MatejZimic:请看链接。
    • 非常感谢。解决了。问题是,我没有在位图中使用我的图像 --> 位图数组。你给我指路。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 2014-04-24
    相关资源
    最近更新 更多