计算器布局的实现有好多方法,先用LinearLayout实现一次吧,以后可能还会用其他布局
先上最终结果
实现方式是利用LinearLayout的layout_weight属性,实现按钮的均匀分布
由于layout_weight属性的特殊性,
当外层LinearLayout为垂直排布的时候,内部控件的layout_height要设为0dp,layout_width设为match_parent
当外层LinearLayout为水平排布的时候,内部控件的layout_width要设为0dp,layout_height设为match_parent
否则,最后的结果可能并不会像你想象得那样
这是一个简单到不能再简单的计算器了,只有加减乘除,
布局可以分为
第一行EditText layout_weight="1"
第二行,第三行,第四行分别有四个按钮 layout_weight="1"
第五行和第六行因为最后有一个占两行的等号
所以再嵌套一层
最外层的LinearLayout layout_weight=2
里边嵌套四个垂直排列的LinearLayout
最外层当然是一个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
第一个控件是一个EditText
设置从右到左编辑,点击不会唤醒键盘
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:gravity="end|bottom"
android:editable="false"/>
剩下的就是LinearLayout里套Button 或者LinearLayout里套LinearLayout里再套Button了
全部代码如下,id起的不是很规范,英语渣(的不能再渣)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"