《Android UI基础教程》——2.7节完成TIMETRACKER

简介:

本节书摘来自异步社区《Android UI基础教程》一书中的第2章,第2.7节完成TIMETRACKER,作者 【美】Jason Ostrander,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.7 完成TIMETRACKER
Android UI基础教程
基本上关于第一个TimeTracker应用程序所需的所有内容我们都讲过了。现在只需要一些处理按键的逻辑。

1.回到TimeTrackerActivity的onCreate方法,并加上以下代码:

`Button startButton = (Button) findViewById(R.id.start`_`stop);`
`startButton.setOnClickListener(this);`
`Button stopButton = (Button) findViewById(R.id.reset);`
`stopButton.setOnClickListener(this);`

这会让TimeTrackerActivity类能够监听按钮事件。你将会在下一章中了解关于事件处理的知识。但仅就现在来说,只需要更新TimeTrackerActivity来实现OnClickListener接口。

2.重写onClick方法。每当一个按钮被按下都会调用这个方法。

`@Override`
`     public void onClick(View v) {`
`          TextView ssButton = (TextView) findViewById`
`          → (R.id.start`_`stop);`

3.检查哪个按钮被按下了。如果用户按下了Start/Stop按钮,检查定时器的状态。如果它被停止了,你需要重新启动并将按钮文字改为“Stop”;反之,则需要停止计时器并把按钮文字改为“Start”。

`          if (v.getId() == R.id.start`_`stop) {`
`               if (isTimerStopped()) {`
`                    startTimer();`
`                    ssButton.setText(R.string.stop);`
`               } else {`
`                    stopTimer();`
`                    ssButton.setText(R.string.start);`
`               }`

4.如果用户按下了Reset按钮,重置定时器和TextView变量counter,并把Start/Stop按钮的文字设为“Start”:

`          } else if (v.getId() == R.id.reset) {`
`               resetTimer();`
`               TextView counter = (TextView) findViewById`
`               → (R.id.counter);`
`               counter.setText(DateUtils.formatElapsedTime(0));`
`               ssButton.setText(R.string.start);`
`          }`
`     }`

现在你可以运行应用了!它运行起来应该像图2.14一样。


e950699435da94e0cb083047b1bdd5e53d7cc7cc

你应该可以启动以及暂停计时器并在列表中记录之前的数值。在下一章节中,你将会更进一步—扩展应用使其可用于不同的屏幕尺寸、添加一些通知,以及使得应用在后台运行。

相关文章
|
26天前
|
消息中间件 安全 数据处理
Android为什么不能在子线程更新UI
Android为什么不能在子线程更新UI
26 0
|
3月前
|
Android开发 开发者
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
44 1
|
3月前
|
开发工具 Android开发 开发者
Android UI设计: 解释Android的Nine-Patch图像是什么,它用于什么目的?
Android UI设计: 解释Android的Nine-Patch图像是什么,它用于什么目的?
31 4
|
3月前
|
API Android开发 开发者
Android UI设计: 什么是RecyclerView?为什么它比ListView更好?
Android UI设计: 什么是RecyclerView?为什么它比ListView更好?
31 2
|
3月前
|
Android开发 容器
Android UI设计: 什么是View和ViewGroup?
Android UI设计: 什么是View和ViewGroup?
36 0
|
3月前
|
数据可视化 Android开发 容器
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
Android UI设计: 请解释LinearLayout、RelativeLayout和ConstraintLayout的区别。
94 5
|
14天前
|
编解码 Android开发 UED
安卓UI/UX设计原则:打造引人入胜的用户体验
【4月更文挑战第13天】本文探讨了安卓UI/UX设计的关键原则,包括一致性、简洁性、反馈、清晰性、效率和适应性。一致性要求视觉和行为保持一致,利用系统UI;简洁性减少用户行动,简化导航;反馈需即时且明确;清晰性强调表达清晰,布局有序;效率关注性能优化和任务简化;适应性涉及多设备适配和用户多样性。遵循这些原则,可创建出色应用,提供无缝用户体验。设计应持续迭代,适应技术发展和用户需求。
|
18天前
|
XML 移动开发 Android开发
构建高效安卓应用:采用Jetpack Compose实现动态UI
【4月更文挑战第10天】 在现代移动开发中,用户界面的流畅性和响应性对于应用的成功至关重要。随着技术的不断进步,安卓开发者寻求更加高效和简洁的方式来构建动态且吸引人的UI。本文将深入探讨Jetpack Compose这一革新性技术,它通过声明式编程模型简化了UI构建过程,并提升了性能与跨平台开发的可行性。我们将从基本概念出发,逐步解析如何利用Jetpack Compose来创建具有数据动态绑定能力的安卓应用,同时确保应用的高性能和良好用户体验。
15 0
|
20天前
|
XML Java Android开发
Android之UI基础控件
Android之UI基础控件
|
20天前
|
XML 开发工具 Android开发
构建高效的安卓应用:使用Jetpack Compose优化UI开发
【4月更文挑战第7天】 随着Android开发不断进化,开发者面临着提高应用性能与简化UI构建流程的双重挑战。本文将探讨如何使用Jetpack Compose这一现代UI工具包来优化安卓应用的开发流程,并提升用户界面的流畅性与一致性。通过介绍Jetpack Compose的核心概念、与传统方法的区别以及实际集成步骤,我们旨在提供一种高效且可靠的解决方案,以帮助开发者构建响应迅速且用户体验优良的安卓应用。