Android 开发第五弹:简易时钟(闹钟)

这次是一个时钟类应用,目前依旧是主要的功能,长得还是很挫。当然了,核心功能是有的……

这里写图片描述

闹钟之前的准备

布局的话,不管是采用FrameLayout或者LinearLayout都可以。

我这里采用了FrameLayout,然后加上一个TabHost,之前在论坛看到有同学提问在WF中这种多个栏目的用什么控件,我的答案是在WF、WPF、Windows App、ASP.NET以及安卓上都是Tab开头的控件。

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TabHost
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/tabHost">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <TabWidget
                android:id="@android:id/tabs"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
            </TabWidget>
            <FrameLayout
                android:id="@android:id/tabcontent"
                android:layout_width="match_parent"
                android:layout_height="match_parent">                   
            </FrameLayout>
        </LinearLayout>
    </TabHost>
</FrameLayout>

定义好了TabHost之后就可以在MainAcitivity类中实例化它们了。

    private static TabHost tabHost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tabHost = (TabHost)findViewById(R.id.tabHost);
        tabHost.setup();

        tabHost.addTab(tabHost.newTabSpec("tabAlarm").
                setIndicator("闹钟").setContent(R.id.tabAlarm));
        tabHost.addTab(tabHost.newTabSpec("tabTime").
                setIndicator("时钟").setContent(R.id.tabTime));
        tabHost.addTab(tabHost.newTabSpec("tabTimer").
                setIndicator("计时器").setContent(R.id.tabTimer));
        tabHost.addTab(tabHost.newTabSpec("tabStopWatch").
                setIndicator("秒表").setContent(R.id.tabStopWatch));
    }

如果你想调整“闹钟”与“时钟”这些的先后顺序,直接在代码中调整代码执行顺序即可。

AlarmView

首先呢,别的不管,我为大家准备了非常好听的铃声这里写图片描述,可惜铃声只能放源码里而不能放博客上……

现在来写一个AlarmView类,到时候在布局文件中可以直接使用它。

<myapplication.nomasp.com.clock.AlarmView
    android:id="@+id/tabAlarm"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <ListView
        android:id=&#
  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值