一、闹钟功能的介绍以及界面的展示

该闹钟是根据我们手机闹钟设计的一个简单的闹钟APP,其中包含时钟、闹钟、秒表和计时器功能。用户可以对闹钟添加和删除,可以对秒表计时、暂停和重置,对计时器可以暂停、计时、继续和重置等功能。

下图为闹钟的时钟功能界面和闹钟功能界面

下图为闹钟的计时功能和秒表功能

基本的界面就是这样了,接下来我们就开始详细的介绍闹钟的设计过程。


二、介绍系统的设计界面

闹钟的布局文件代码如下

由于该闹钟系统包含时钟、闹钟、计时器、秒表四个功能,所以只要插入TabHost控件就能实现在手机上更加简洁地展示四个功能。后面只需要在TabHost中插入四个Tab用来切换展示的界面,具体的代码实现如下:

 protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tabHost = (TabHost)findViewById(android.R.id.tabhost);tabHost.setup();TabWidget tabWidget = tabHost.getTabWidget();tabHost.addTab(tabHost.newTabSpec("tabTime").setIndicator("时钟").setContent(R.id.tabTime));tabHost.addTab(tabHost.newTabSpec("tabAlarm").setIndicator("闹钟").setContent(R.id.tabAlarm));tabHost.addTab(tabHost.newTabSpec("tabTimer").setIndicator("计时器").setContent(R.id.tabTimer));tabHost.addTab(tabHost.newTabSpec("tabStopWatch").setIndicator("秒表").setContent(R.id.tabStopWatch));for (int i =0; i < tabWidget.getChildCount(); i++) {//修改Tabhost高度和宽度tabWidget.getChildAt(i).getLayoutParams().height = 90;tabWidget.getChildAt(i).getLayoutParams().width = 65;//修改显示字体大小TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title);tv.setTextSize(25);tv.setTextColor(this.getResources().getColorStateList(android.R.color.black));}stopWatchView = (StopWatchView)findViewById(R.id.tabStopWatch);}

1、 因为时钟功能中,只要显示当前的日期和时钟就可以了,所以只需要插入一个TextView用来显示日期时间就可以了。

<com.example.administrator.alarm5.TimeViewandroid:id="@+id/tabTime"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:textAlignment="center"><TextViewandroid:layout_width="fill_parent"android:layout_height="fill_parent"android:id="@+id/tvTime"android:gravity="center"android:textAppearance="?android:attr/textAppearanceLarge"android:textSize="36sp"android:textAlignment="center"android:textStyle="normal|bold" />
</com.example.administrator.alarm5.TimeView>

2.1、闹钟功能就相对时钟功能就复杂很多了,因为这里需要对闹钟进行增加,删除等操作,而且可能需要展示多个闹钟的时间。所以这里需要用到有一个Button控件用来增加闹钟和一个ListView控件用来展示闹钟的时间。

<com.example.administrator.alarm5.AlarmViewandroid:id="@+id/tabAlarm"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="match_parent"><ListViewandroid:id="@+id/lvAlarmList"android:layout_width="fill_parent"android:layout_weight="1"android:layout_height="0dp"android:headerDividersEnabled="true"android:footerDividersEnabled="true"></ListView><Buttonandroid:id="@+id/btnAddAlarm"android:text="添加闹钟"android:layout_width="fill_parent"android:layout_height="wrap_content"android:textAlignment="center"android:textSize="18sp" /></com.example.administrator.alarm5.AlarmView>

2.2、当闹钟想起来的时候,也需要展现一个界面提醒用户,所以我们还需要设计另外一个.xml布局文件。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"android:weightSum="1"><TextViewandroid:textAppearance="?android:attr/textAppearanceLarge"android:id="@+id/font_content"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:text="闹铃响起来了!" /><Buttonandroid:id="@+id/close_btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="关闭闹钟"android:layout_alignParentBottom="true"android:layout_marginBottom="100dp"/></RelativeLayout>

效果图如下

3、秒表功能包含四个功能键,分别为开始,暂停、继续和重置。所以需要四个Button,然后需要三个EditText分别用来给用户输入时分秒。具体的代码如下:

 <com.example.administrator.alarm5.TimerViewandroid:id="@+id/tabTimer"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1"android:orientation="horizontal"><EditTextandroid:textAppearance="?android:attr/textAppearanceLarge"android:id="@+id/etHour"android:inputType="number"android:singleLine="true"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:textAlignment="center"android:textStyle="normal|bold" /><TextViewandroid:textAppearance="?android:attr/textAppearanceLarge"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=":"android:textAlignment="center"android:textStyle="normal|bold" /><EditTextandroid:textAppearance="?android:attr/textAppearanceLarge"android:id="@+id/etMin"android:inputType="number"android:singleLine="true"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:textAlignment="center"android:textStyle="normal|bold" /><TextViewandroid:textAppearance="?android:attr/textAppearanceLarge"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=":"android:textAlignment="center"android:textStyle="normal|bold" /><EditTextandroid:textAppearance="?android:attr/textAppearanceLarge"android:id="@+id/etSec"android:inputType="number"android:singleLine="true"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:textAlignment="center"android:textStyle="normal|bold" /></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:id="@+id/btnGroup"android:orientation="horizontal"><Buttonandroid:id="@+id/btnStart"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="开始"android:textAlignment="center"android:textSize="18sp" /><Buttonandroid:id="@+id/btnPause"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="暂停"android:textSize="18sp"android:textAlignment="center" /><Buttonandroid:id="@+id/btnResume"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="继续"android:textSize="18sp"android:textAlignment="center" /><Buttonandroid:id="@+id/btnReset"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="重置"android:textSize="18sp"android:textAlignment="center" /></LinearLayout></com.example.administrator.alarm5.TimerView>

4、剩下最后一个功能项就是计时器了,这个和上面讲了秒表比较类似,不同的是多一个Button按钮用来计时,另外还需要一个ListView用来显示计时的时间,详细的代码如下:

<com.example.administrator.alarm5.StopWatchViewandroid:id="@+id/tabStopWatch"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:id="@+id/timeHour"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textAppearance="?android:attr/textAppearanceLarge"android:textAlignment="center"android:fontFamily="sans-serif"android:textStyle="normal|bold" /><TextViewandroid:text=":"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textAppearance="?android:attr/textAppearanceLarge"android:textAlignment="center"android:textStyle="normal|bold" /><TextViewandroid:id="@+id/timeMin"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:textAppearance="?android:attr/textAppearanceLarge"android:textAlignment="center"android:textStyle="normal|bold" /><TextViewandroid:text=":"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textAppearance="?android:attr/textAppearanceLarge"android:textAlignment="center"android:textStyle="normal|bold" /><TextViewandroid:id="@+id/timeSec"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textAppearance="?android:attr/textAppearanceLarge"android:textAlignment="center"android:textStyle="normal|bold" /><TextViewandroid:text=":"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textAppearance="?android:attr/textAppearanceLarge"android:textAlignment="center"android:textStyle="normal|bold" /><TextViewandroid:id="@+id/timeMSec"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:textAppearance="?android:attr/textAppearanceLarge"android:textAlignment="center"android:textStyle="normal|bold" /></LinearLayout><ListViewandroid:layout_width="fill_parent"android:layout_height="0dp"android:layout_weight="1"android:id="@+id/lvWatchTimeList"android:background="@color/common_google_signin_btn_text_dark_default"></ListView><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="开始"android:id="@+id/btnSWStart"android:textAlignment="center"android:textStyle="normal|bold"android:textSize="18sp" /><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="暂停"android:id="@+id/btnSWPause"android:textAlignment="center"android:textSize="18sp" /><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="继续"android:id="@+id/btnSWResume"android:textAlignment="center"android:textSize="18sp" /><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="重置"android:id="@+id/btnSWReset"android:textSize="18sp"android:textAlignment="center" /><Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:text="计时"android:id="@+id/btnSWLap"android:textSize="18sp"android:textAlignment="center" /></LinearLayout></com.example.administrator.alarm5.StopWatchView>

上面基本上都介绍完界面布局的代码,这些代码都是activity_mian.xml中的部分代码,这里只是展示了所要说明的部分,下一节将会介绍这个闹钟的后端代码。

用Android Studio编写简易闹钟(一)相关推荐

  1. 用Android Studio 编写简易计算器

    用Android Studio 编写简易计算器 界面设计 功能的實現 其他配置 1.頂部標題 2.修改測試 这是用Android Studio编写的 简易计算器 .功能主要是实现简单的加减操作,以及比 ...

  2. Android Studio编写运行测试纯java代码可带main()函数

    问题 小伙伴们在做安卓项目的时候,是不是有时候会忘记某些api的使用方法,不太确定他们的结果是怎样的,需要写一些测试代码,验证看看我们的写法是否正确.刚开始的时候我是在页面上写一个Button,添加点 ...

  3. 使用Android Studio编写一个简单的音乐盒

    文章目录 一.知识要点 二.xml代码 activity_main.xml 三.java代码 MainActivity.java MusicService.java 四.运行界面展示 五. 源码Git ...

  4. 在Android Studio编写代码时,使用MaterialCardView的项目无法正常运行怎么办?简简单单搞定它_莫韵乐与bug的奇妙冒险

    在Android Studio编写代码时,使用MaterialCardView布局的项目闪退怎么办?简简单单搞定它 当我想用MaterialCardView去做一个好看的界面的时候,应用居然闪退了 经 ...

  5. Android Studio多功能闹钟[android源码]

    Android Studio多功能闹钟[android源码] 多功能闹钟App 简 介 主 要 技 术 界面截图 主要代码 源码链接 作者信息 多功能闹钟App 简 介 此多功能闹钟界面采用TabHo ...

  6. Android Studio 编写无限查看QQ闪照APP

    Android Studio 编写无限查看QQ闪照APP 原理   QQ闪照在查看了之后就会立即删除,但是在查看之前,它会保存在你的手机里,它在你手机里的路径是:         "内部储存 ...

  7. android studio线性布局做计算器,Android studio设计简易计算器

    本文实例为大家分享了Android studio设计简易计算器的具体代码,供大家参考,具体内容如下 效果显示: 第一步,简单的界面布局 xmlns:tools="http://schemas ...

  8. Android Studio编写java工程并生成可执行jar

    Android Studio编写java工程并生成可执行jar 1.新建一个空的Android工程 2.新建一个java module 3.添加main方法 4.引用三方jar 5.打包输出为可执行j ...

  9. [Java] 使用Android Studio编写Java测试代码

    目录 一.创建"Java or Kotlin Library" 模组. 1.1 新建Android Project. 1.2 新建 "Java or Kotlin Lib ...

最新文章

  1. bzoj1066 蜥蜴 (dinic)
  2. 网络推广外包专员浅析为何网站网络推广外包中有排名却没有转化率
  3. 管理神话2:专家只有权这样做
  4. 当推荐系统遇上用户画像:你的画像是怎么来的?
  5. 屏蔽浏览器退格键页面后退
  6. mybaits trim用法
  7. 19级:班级日常分享,一天一瞬间
  8. Paper Pal:一个中英文论文及其代码大数据搜索平台
  9. python在json文件中查找指定数据_Python中json的取值 如何使用python提取json中指定字段的数据...
  10. MapJoin的原理及案例
  11. iPhone开发 调用wcf服务
  12. hwclock(Linux)
  13. 苹果开发☀️ 一、Unity开发苹果应用流程
  14. xkcd目录_使用随机XKCD漫画作为您的桌面墙纸
  15. 移动办公模式下的业务 微易聊微信管理系统作用显著!
  16. IPOD Touch阅读TXT电子书解决方案
  17. 【NAS】Samba配置文件解析
  18. 在Java里面使用Pairs或者二元组
  19. Unity | 实现隐藏窗口到托盘,并且任务栏不显示icon
  20. Windows电脑休眠后,ping不通虚拟机

热门文章

  1. 道一HTTP测试工具功能升级
  2. Vue实战:简易布局Dome
  3. 辣鸡准备稍微碰一下深度学习系列(1/21)---上
  4. 倍福PLC模拟量输入模块的使用方法
  5. 自定义高性能播放器, 实现边下边播缓存等功能
  6. UWB 技术 DW1000 芯片配套MCU STM32L100C6U6
  7. 电脑运行卡顿,只需三步轻松解决
  8. 我是一个硬件工程师,面试官随口问了这些问题 | 收藏
  9. [1164]python用numpy计算均值,方差,标准差
  10. 水果店处理坏果,水果店卖不掉的水果如何处理