今天延续昨天的计算器完善,完成了布局和代码。昨天由于界面做的很粗糙,button之间边框没有加好,今天上班,师傅教我用layout-margin(外填充),将俩边的边框补全,完善了ui界面 android:layout_marginRight="1dp" android:layout_marginBottom="1dp"
这里一个是右边款填充还有个事下边框填充。最重要的是昨天的button背景图片的插入,首先是selector这个样式文件,每个样式必须创建一个样式文件,里面有初始颜色,还有是动作时颜色。 做好界面后,接下来是代码部分。首先先个所有控件添加id,重新赋值ID信息,在MainActivity中给布局文件添加id信息和添加监听器。首先在Android文件夹中没有java中的main主函数调用setContentView(R.layout.activity_main)
这里就是整个activity启动程序的地方。``` this.findViewById(R.id.yi)
temp="0.";
num.setText(temp);
}
else if(temp.indexOf(".")>=0){/*这里if作用,如果当前的动作是小数点,则不能再输出小数点,直接输出下个值*/
num.setText(temp);
}else{
temp=temp+".";
num.setText(temp);
}
这里就是俩个if语句来判断是否小数点重复。然后就是逻辑运算的代码 OnClickListener jiad =new OnClickListener() {
public void onClick(View arg0) {
flag=1;
jg=num.getText().toString();
num.setText("");
}
};
OnClickListener jiand =new OnClickListener() {
public void onClick(View arg0) {
flag=2;
jg=num.getText().toString();
num.setText("");
}
};
OnClickListener chengd =new OnClickListener() {
public void onClick(View arg0) {
flag=3;
jg=num.getText().toString();
num.setText("");
}
};
OnClickListener chud =new OnClickListener() {
public void onClick(View arg0) {
flag=4;
jg=num.getText().toString();
num.setText("");
}
};
OnClickListener baifenhaod =new OnClickListener() {
public void onClick(View arg0) {
flag=5;
jg=num.getText().toString();
num.setText("");
}
};
OnClickListener dengyud =new OnClickListener() {
public void onClick(View arg0) {
switch(flag){
case 1:{
float f=Float.parseFloat(jg);
f=f+Float.parseFloat(num.getText().toString());
num.setText(String.valueOf(f));
break;
}
case 2:{
float f=Float.parseFloat(jg);
f=f-Float.parseFloat(num.getText().toString());
num.setText(String.valueOf(f));
break;
}
case 3:{
float f=Float.parseFloat(jg);
f=f*Float.parseFloat(num.getText().toString());
num.setText(String.valueOf(f));
break;
}
case 4:{
float f=Float.parseFloat(jg);
f=f/Float.parseFloat(num.getText().toString());
num.setText(String.valueOf(f));
break;
}
case 5:{
float f=Float.parseFloat(jg);
f=f%Float.parseFloat(num.getText().toString());
num.setText(String.valueOf(f));
break;
}
}
}