自定义计算器 android,Android 简单计算器的实现
計算器
計算器App看似簡單,實現起來卻是不那么簡單。對于android新手來說,計算器是一個很好的練手的小項目。對于android的一些基礎知識和一些算法邏輯是一個很好的鍛煉。
功能
基本計算器的加減乘除運算、歷史記錄、連續運算。
想法
計算器按鍵布局方式
添加button點擊事件
字符串邏輯處理
布局
布局采用LinearLayout,采用layout_weight進行均等分是一個不錯的方式。此計算器我采用了自定義按鈕(其實也就是導入字體使按鈕的文字顯示比較不同),這樣會遇到一個問題就是一些運算符號比如”+-“我導入的字體沒有的,它就還是以正常的方式顯示出來,這就會顯得不協調了。當然這個問題可以把按鈕設置為ImageView而不是TextView,直接到如相應樣式的按鈕圖片就行了。這時你得注意ImageView應采用的是src索引資源文件而不是background,這樣才不會造成適配問題按鈕圖片拉伸的問題。
為按鈕添加點擊事件
添加點擊事件有兩種方式,一種是繼承OnClickListener接口并實現onClick(View v)方法,一種是直接為button添加點擊事件;
public class MainActivity extends Activity implements OnClickListener{
//計算器按鈕定義
Button btn_0;
...
btn_0.setOnClickListener(this);
...
@Override
public void onClick(View v) {
switch(v.getId()){
//當點擊數字、小數點時
case R.id.bt_0 :
...
}
寫到這里我又想起了Jay跟我說的,大致是這樣說的 (⊙o⊙)…
布局就是把View一層層疊起來的,就如我們書桌上的課本一樣,一本疊著一本,有些是容器,可以在里面在放一些東西,也就是繼承ViewGroup的View,有一些則不能再放了。這些View要怎么放就靠你的LinearLayout,RelativeLayout等布局方式了
這在以后會遇到的view的事件傳遞的一些問題是一個很好的理解基礎。android的事件傳遞機制
字符串邏輯處理
點擊按鈕通過TextView的getText()方法得到字符串并顯示在顯示欄上,顯示欄其實同樣也是一個TextView。這里最為重要的是對輸入的字符串的處理。
①輸入字符的判斷
②拼接而成的字符串是否是正確的數學運算式
③如何實現特殊運算,如連乘,求根等
④必要的標志位
//標志位
boolean calculate_flag = false;//是否已經具備數學計算條件?——eg.具有"5 + "字符串格式?
boolean recordFlag = false;//記錄數據傳遞標志,傳到RecordActivity,只存儲數據直接返回。
boolean re_flag = false;//清除歷史動作數據標志
boolean zf_flag = false;//正負切換標志
boolean mFlag = false;//開啟并停留RecordActivity標志位
```
我在這里把字符運算符前后都加入一" ",把輸入的運算字符串傳入一函數運算器進行字符判斷找出分開數值與運算符,再進行數值運算
``` java
/* * 運算器 */
private String calculator(){
//在運算符兩邊加入" ", 如" + "判斷運算符,計算數據
float result = 0;
String exp = inputText.getText().toString();
String sResult;
if(exp == null || exp.equals("") ||
!exp.contains(" "))
return "";
float s1 = Float.parseFloat(exp.substring(0, exp.indexOf(" ")));//運算符前面的數
String op = exp.substring(exp.indexOf(" ")+1, exp.indexOf(" ")+2);//運算符
float s2 = Float.parseFloat(exp.substring(exp.indexOf(" ")+3));//運算符后面的數
...
}
其他運算直接取結果欄的字符再進行運算就可以了,此計算器連續運算也只是取結果欄的結果并與輸入欄結果進行運算而成,并沒有更為復雜的字符串判斷。
總結
這次計算器的設計最為重要的是對字符串的處理,在實際編程中會遇到各種要考慮的情況。比如在如何字符串中查找得到運算符號,運算公式的合法與否。
總結
以上是生活随笔為你收集整理的自定义计算器 android,Android 简单计算器的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云openapi接口使用,PHP,视
- 下一篇: Android打开系统文件管理器