首先放几张现在的效果图,一张是编辑闹钟界面,一张闹钟显示界面,重复时间选择界面,标签填写界面,铃声选择界面。
现有的问题:
闹钟响铃提示窗口没有实现 AlertDialog
闹钟响铃功能的实现方式有缺陷,一分钟查询一次的效率太低下
闹钟响铃没有用多线程实现,响铃时候会阻塞数据加载
编辑界面的重复、铃声、标签没有显示现有的数据 // 重复、铃声、标签已实现,在右侧添加textVeiw并获取相应数据即可,同时在AlertDialog中的onclick或确定事件中设置setTextView使修改结果及时反馈到界面上
主界面的闹钟开启按钮不美观,且触发修改数据功能没有实现 //实现,通过在adapter中添加点击事件解决
铃声不会因为选择而改变(原先的做法是调用R.raw.music方法实现的铃声,选择铃声的话通过判定来做又太傻比)
代码风格的问题,XML换行后自动补全的是空格,习惯性用tab,代码不美观 // 搞定
解决方案:
实现分界线的简单XML代码
<View
android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"
android:layout_alignParentBottom="true"
android:background="#000000" // 黑色
android:layout_width="fill_parent"
android:layout_height="0.2dip" /> // 粗细
实现背景框的方式
picture.9.png图片,在改变UI效果上有奇效,通过SDK中的draw9patch.bat批处理文件实现自定义的边界伸缩图片
实现换行补全TAB
window->preference->XML File->Editor->Indent using TAB
实现多选框
AlertDialog.Builder
repeatDialog.setMultiChoiceItems(weekDays, weekData, new DialogInterface.OnMultiChoiceClickListener()
第一个参数是多选框数据,第二个参数表示是否选中,第三个参数是监听
实现单选框
AlertDialog.Builder
ringDialog.setSingleChoiceItems(rings, currentRing, new DialogInterface.OnClickListener()
第一个参数是选项数据,第二个参数表示选中的数据项,第三个参数是监听
实现闹钟到时响铃框显示出现一点问题,程序莫名闪退。。。。。
小图标素材库
http://iconfont.cn/
界面优化
使用android:layout_weight时,最好将相应的android:layout_width或android:layout_height置为0dip,防止因为某个组件长度过长而影响布局效果
响铃后调用AlertDialog时出现Unable to add window -- token null is not valid; is your activity running?
这个bug大意是Intent的context出现了问题,最后通过activity调用AlertDialog
Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);