package com.control;
import android.app.Activity;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
* calculator
* @author Andy.chen
*
*/
public class MyCalculator {
private FrameLayout frameLayout;
private static String strArray_top[]=new String[]{" ","Backspace","CE","C"};
private static String strArray[][]=new String[][]{
{"MC","7","8","9","/","sqrt"},
{"MR","4","5","6","*","%"},
{"MS","1","2","3","-","1/x"},
{"M+","0","+/-",".","+","="}
};
public MyCalculator(Activity mContext){
frameLayout=new FrameLayout(mContext);
FrameLayout.LayoutParams flParams=new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
flParams.gravity=Gravity.BOTTOM|Gravity.CENTER;
frameLayout.setLayoutParams(flParams);
LinearLayout keyboard=new LinearLayout(mContext);
LinearLayout.LayoutParams lkParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
keyboard.setLayoutParams(lkParams);
keyboard.setGravity(Gravity.CENTER);
keyboard.setBackgroundResource(R.drawable.skb_back);
keyboard.setOrientation(LinearLayout.VERTICAL);
frameLayout.addView(keyboard);
/* text view line start*/
LinearLayout txLine=new LinearLayout(mContext);
LinearLayout.LayoutParams txParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
txParams.setMargins(10, 10, 10, 0);
txLine.setLayoutParams(txParams);
//textView params
LinearLayout.LayoutParams textParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,80);
textParams.setMargins(20, 0, 20, 0);
TextView tvEdit=new TextView(mContext);
tvEdit.setBackgroundColor(Color.BLACK);
tvEdit.setText("0");
tvEdit.setGravity(Gravity.BOTTOM|Gravity.RIGHT);
tvEdit.setLayoutParams(textParams);
txLine.addView(tvEdit);
keyboard.addView(txLine);
/* text view line end*/
/* line Backspace CE C key start */
LinearLayout ltLine=new LinearLayout(mContext);
LinearLayout.LayoutParams ltParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
ltParams.setMargins(10, 10, 10, 0);
ltLine.setLayoutParams(ltParams);
for(int k=0;k<strArray_top.length;k++){
LinearLayout.LayoutParams ktParams=null;
if(k == 0){
ktParams=new LinearLayout.LayoutParams(50,60);
}else if(k == 1){
ktParams=new LinearLayout.LayoutParams(130,60);
}else{
ktParams=new LinearLayout.LayoutParams(70,60);
}
ktParams.setMargins(5, 0, 5, 0);
TextView tvTKey=new TextView(mContext);
tvTKey.setText(strArray_top[k]);
tvTKey.setTextColor(Color.RED);
tvTKey.setBackgroundResource(R.drawable.skey_normal_back);
tvTKey.setGravity(Gravity.CENTER);
tvTKey.setLayoutParams(ktParams);
ltLine.addView(tvTKey);
}
keyboard.addView(ltLine);
/* line Backspace CE C key end */
/* other key line start */
for(int i=0;i<strArray.length;i++){
LinearLayout lLine=new LinearLayout(mContext);
//layoutParams 参数
LinearLayout.LayoutParams lParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
lParams.setMargins(10, 10, 10, 10);//当前linearLayout 四边周围与外隔尺寸
lLine.setLayoutParams(lParams);
for(int j=0;j<strArray[i].length;j++){
LinearLayout.LayoutParams kParams=new LinearLayout.LayoutParams(50,80);//单独键参数
kParams.setMargins(5, 0, 5, 0);
TextView tvKey=new TextView(mContext);
tvKey.setText(strArray[i][j]);
tvKey.setBackgroundResource(R.drawable.skey_normal_back);
tvKey.setGravity(Gravity.CENTER);
tvKey.setLayoutParams(kParams);
lLine.addView(tvKey);
}
keyboard.addView(lLine);
}
/*other key line end */
}
public View getView(){
return frameLayout;
}
}