首先看到纯代码这几个字就知道这篇文章绝对没有xml文件,直接纯代码界面+所有功能,这只是我个人在学习的道路上做的随心记,怕以后忘了可以再进来看看,有不好的请大神指出。。。谢谢
一个计算器自然只是由多个按键和一个“显示屏”构成,那自然是TextView和EditText这些了,我在这个项目用的是TextView
其实就是利用它的setText()和getText()方法来显示和读取数据的,下面正式开始:
先上上效果图,这样的话看着代码会轻松一些
看到这界面用水果手机的同学都熟悉吧,对!这就是我根据水果手机上的计算器来制作的。。。
首先咋们要知道纯代码是怎么把控件添加到容器上的,就是利用 容器对象.addView(控件对象); 反正添加子容器,添加其他控件都是用这个的,对象就很明了了,就是定义,设置属性,这两步搞完直接添加就是了。
不说多了,看看代码吧!
创建按钮:因为每一个按钮都是一样的,出了ID和它的文字不一样,所以我直接用一个带返回值带参数的方法定义,后面的按钮都全部从这获取得到,你也可以一个一个的定义,不过重复太多内容看着都烦,有没有感觉??它设置高度那里的值后面再说!
//创建每一个按钮
private Button myButton(String name)
{ //定义一个按钮
Button button = new Button(this);
//设置按钮高度
button.setHeight(getButtonWidth());
button.setText(name);
button.setTextColor(Color.WHITE);
button.setTextSize(TypedValue.COMPLEX_UNIT_PX,getButtonWidth()/2.5f);
return button;
}
接下来就是如何把它放到界面上去了,我们看图上按钮出了最下面一行外上面是一个4x4的吧?所以我在这使用循环来获取每一个按钮,但是必须想到获取之后如何放得这么整齐排列呢?我用的是LinearLayout线性布局方式,我每一行都是一个LinearLayout容器,如下:
我的布局思想是这样的,这个想法我相信每个人都有不一样的,上面那个红色框就是TextView组件,其他5个红色我也是用的LinearLayout容器,因为下面那行特殊所以另外说,二最上面那行的文字特殊所以也不跟中间那三行一起获取,我是这么做的
都是利用有返回值的方法来获取,这次获取的就