android布局与计算器app编程

android布局分为:

   

1.线性布局LinearLayout

2.相对布局RelativeLayout

3.绝对布局AbsoluteLayout

4.帧布局FrameLayout

5.表格布局TableLayout

    

    

    线性布局LinearLayout比较简单,元素可以水平顺序排放,也可以垂直顺序排放,元素内部也可以设置线性布局进行嵌套布局设置。

    我的计算器app就是使用了嵌套线性布局来完成的。

代码如下:



    

	

	    


    这里只给出了一个输入框与一排按钮的代码,还有三排代码是重复的,参考嵌套布局。

    界面布局设置好了之后,往按钮加上监听,然后别写计算代码就可以了。

监听与计算代码如下:

    OnClickListener click = new OnClickListener(){
		@Override
		public void onClick(View v) {
			Button bt = (Button)v;
			inContent = inContent + bt.getText();
			EditText et = (EditText) findViewById(R.id.num_input);
			et.setText(inContent);
		}
    };
    public void in_guiling(View v){
    	inContent = "";
    	EditText et = (EditText) findViewById(R.id.num_input);
		et.setText(inContent);
    }
    public void in_result(View v){
    	int count = 0;
    	char c = 0;
    	int pre = 0;
    	int last = 0;
    	while(count < inContent.length()){
    		if( inContent.charAt(count) == '+'||
    				inContent.charAt(count) == '-'||
    				inContent.charAt(count) == '*'||
    				inContent.charAt(count) == '/'
    				){
    			c = inContent.charAt(count);
    			pre = Integer.parseInt(inContent.substring(0, count));
    	    	last = Integer.parseInt(inContent.substring(count+1));
    		}
    		count ++;
    	}
    	int value = 0;
    	switch(c){
		case'+':value = pre+last;break;
		case'-':value = pre-last;break;
		case'*':value = pre*last;break;
		case'/':value = pre/last;break;
    	}
    	String sss = Integer.toString(value);
       	EditText et = (EditText) findViewById(R.id.num_input);
    	et.setText(sss);
    }

我的app是这样的:

android布局与计算器app编程_第1张图片


    颜色是测试布局的时候加上去的,后来发现把颜色去掉的话就太沉闷了,所以就不修改了。

    测试结果:

android布局与计算器app编程_第2张图片



    相对布局RelativeLayout比LinearLayout要灵活,可以根据前后组件的位置来调动自己的位置。

    


你可能感兴趣的:(Android,android布局,计算器)