生活是非常忙碌的,所以我们会经常性的忘记一些事情,所以一个完美的记事本就非常需要了。
一方面,可以记录我们的美好回忆, 一方面,可以做个闹钟,然后按时提醒我们即将做什么事情。
所以, 我们就一步一步的实现这个记事本的代码开发,希望对其有所帮助。
首先,我们介绍一下记事本的功能,
1、在主界面添加闹钟,然后打开新建页面,可以设置item的标题、item的提醒时间、item的内容,以及提醒铃声设置
2、在主界面显示创建的item,包括item的标题、item的提醒时间、item的内容
3、然后可以打开item并查看详情
4、在主界面可以分页显示item,然后进行翻页操作
然后,介绍一下主界面的设计。在res/layout下新建home.xml,整个根节点采用RelativeLayout布局,最上方采用一个button用于显示添加,中间显示数据库中所有记事本文件,最下面是一个分页的组件,用一个linearlayout包含4个按钮
<?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"
>
<!-- 添加按钮 -->
<Button
android:id="@+id/btnAdd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:text="@+string/btnAdd"
/>
<!-- 文章列表,用于显示所有备忘录 -->
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/btnAdd"
android:layout_above="@+id/linearLayout1"
/>
<!-- 底部按钮 -->
<LinearLayout
android:id="@+id/linearLayout1"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_alignParentBottom="true"
>
<!-- 首页按钮 -->
<Button
android:id="@+id/btnFirst"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+string/btnFirst"
/>
<!-- 上一页按钮 -->
<ImageButton
android:id="@+id/btnPre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/preview"
/>
<!-- 下一个按钮 -->
<ImageButton
android:id="@+id/btnNext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/next"
/>
<!-- 末页按钮 -->
<Button
android:id="@+id/btnEnd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+string/btnEnd"
/>
<!-- 进度条 -->
</LinearLayout>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleLarge"
android:max="100"
android:progress="50"
android:secondaryProgress="70"
android:layout_centerInParent="true"
android:visibility="gone"
/>
</RelativeLayout>
最后,用于匹配listview每一行元素的布局文件如下items.xml,每个item显示3个元素,item标题、item时间、item简介
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/item"
android:orientation="vertical" >
<!-- ListView元素 -->
<TextView
android:id="@+id/noteName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10px"
android:gravity="center_vertical|left"
android:textColor="#0000FF"
android:textSize="40px"
android:text="aaa"
/>
<TextView
android:id="@+id/noteTime"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10px"
android:gravity="center_vertical|left"
android:textColor="#0000FF"
android:textSize="40px"
android:layout_below="@+id/noteName"
android:text="ddd"
/>
<TextView
android:id="@+id/noteMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10px"
android:gravity="center_vertical|left"
android:textColor="#0000FF"
android:textSize="40px"
android:layout_below="@+id/noteTime"
android:text="ddd"
/>
</LinearLayout>