首页 > 代码库 > 仿小米简约calendar
仿小米简约calendar
上个星期的时候,我想教我朋友做一个简单的app。想来想去教什么比较好,当时看见小米的计算器觉得比较漂亮,就想这个简单!然后就开始动手做了。我以为可以一个小时可以搞定,没想到花了快一天的时间。哎!突然想起以前公司的CTO的话,一切都是从简单开始的。
我自己的思路是:将计算器的item分为:integer,float,运算符,用list去存储。然后我通过标记上一次输入的标记,判断它是否该插入list还是拿到last修改。然后根据先遍历高级运算,得到结果,将i-1设置为得到的结果,移除i+1,i。最后得到list(0)就是所需要的结果。当然,肯定需要很多判断之类,因为demo的原因,我没有再去改善它。因为这个毕竟是我个人思路,如果有哪位朋友有更好的想法,可以给我留言。
1.输入的model
package com.example.calculator; public class InputItem { private String input; private int type; public InputItem() { super(); } public InputItem(String input, int type) { super(); this.input = input; this.type = type; } public String getInput() { return input; } public void setInput(String input) { this.input = input; } public int getType() { return type; } public void setType(int type) { this.type = type; } interface InputType { public static final int INT_TYPE = 0; //int 类型 public static final int DOUBLE_TYPE=1; //double 类型 public static final int OPERATOR_TYPE = 2; //操作符类型 public static final int ERROR = 3; //操作符类型 } @Override public String toString() { return "InputItem [input=" + input + ", type=" + type + "]"; } }
2.逻辑运算
package com.example.calculator; import java.math.BigDecimal; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import com.example.calculator.InputItem.InputType; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.annotation.SuppressLint; import android.app.Activity; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener{ private TextView mShowResultTv; //显示结果 private TextView mShowInputTv; //显示输入的字符 private Button mCBtn; private Button mDelBtn; private Button mAddBtn; private Button mSubBtn; private Button mMultiplyBtn; private Button mDividebtn; private Button mZeroButton; private Button mOnebtn; private Button mTwoBtn; private Button mThreeBtn; private Button mFourBtn; private Button mFiveBtn; private Button mSixBtn; private Button mSevenBtn; private Button mEightBtn; private Button mNineBtn; private Button mPointtn; private Button mEqualBtn; private HashMap<View,String> map; //将View和String映射起来 private List<InputItem> mInputList; //定义记录每次输入的数 private int mLastInputstatus = INPUT_NUMBER; //记录上一次输入状态 public static final int INPUT_NUMBER = 1; public static final int INPUT_POINT = 0; public static final int INPUT_OPERATOR = -1; public static final int END = -2; public static final int ERROR= -3; public static final int SHOW_RESULT_DATA = http://www.mamicode.com/1;>我已上传:http://download.csdn.net/detail/huangyanbin123/7842923
仿小米简约calendar
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。