因为正值跟女朋友在一起的半周年。所以想着做个她需要的app给她用。其实网上同样功能的app很多,但都有广告,而且比较庞大,她的手机又比较老卡,所以就根据她的需求来写,哈哈,算是我的第一个项目经理吧。
首先说一下她的需求:
- 倒数日的功能,能够显示某个日子离现在还有几天,提供自动排序的功能
- 纪念日的功能,能够显示某个日子已经过去了几天,提供两种显示方法,日跟月。
- 手电筒的功能
- 备注功能。即倒数日中能够添加备注(未实现)
接下来就说一下实现的过程:
首先是设计界面,先做好下xml,经验表明,边写功能边敲代码绝对是不对的,因为会很乱。设想有一个登陆界面,界面上是头像,有圆角的输入框(自定义),有圆角的按钮
pw_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
android:padding="10dp">
<!--solid表示填充颜色,如果想让输入框看起来像透明的一样就让color跟背景颜色一样即可-->
<solid
android:color="#FFFFFF"></solid>
<!--corners表示四个角的弧度,注意bottomRightRadius是左下角,left是右下角的弧度-->
<corners
android:bottomRightRadius="15dp"
android:bottomLeftRadius="15dp"
android:topLeftRadius="15dp"
android:topRightRadius="15dp" />
<!--stroke表示描边,width表示宽度,color为描边的颜色-->
<stroke
android:width="2dp"
android:color="#FF99CC"/>
<!--padding:距离边缘的距离-->
<padding
android:left="10dp"/>
</shape>
手电筒在登陆界面。手电筒的代码其实挺简单的。主要就是打开闪光灯。代码如下
lightBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
if(!flag){
layout.setBackgroundColor(Color.parseColor("#292421"));
lightBtn.setBackgroundResource(R.drawable.flash_head);
Camera camera = Camera.open();
parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);// 开启
camera.setParameters(parameters);
camera.startPreview();
flag=true;
}else{
flag=false;
layout.setBackgroundColor(Color.parseColor("#FFFFFF"));
lightBtn.setBackgroundResource(R.drawable.log_in_head_2);
parameters.setFlashMode(Parameters.FLASH_MODE_OFF);// 关闭
camera.setParameters(param