20200617
今天实现了一个能加减乘除的简单计算器,界面大致如下:
首先是画界面,挺简单的,就是一个四个竖直布局的LinerLayout加一个TextView。我看到网上很多计算器都是用的EditView,个人感觉没有必要,毕竟只是个按键输入的计算器,又不需要自己键盘手动输入。但是有一点就是=号键,本来是在最后一个LinerLayout里面的,但是我不管用什么办法总是填不满空缺,会导致最后一列较其他列短一些,所以将它单独拉出来布局了。(手动设置高度应该可以做到,但是感觉可能无法适配不同机型。)
具体布局方式也很简单,所有的LinerLayout宽高都匹配文本(wrap_content),从左数第一列开始依次设置约束条件。为了给TextView留出空间,前三列都只需要设置start、end、bottom三个方向的约束。最后一列因为需要单独分出=号键的空间,所以设置start、top、end三个方向的约束,top对齐前三列就好了。最后是=号键,设置一下四个方位的约束,然后因为之前的LinerLayout设置了10dp的间距(layout_margin),所以也给=号键设置一下间距。至于LinerLayout里面的各个按钮,全部设置wrap_content就好了。这个主要是工作量大一点,每一个都要设置id和text。