赞
踩
总体任务:制作一个简单的计算器,实现计算功能。本部分内容:完成计算器的界面制作。
采用LinearLayout布局内包含一个LinearLayout用于显示信息,一个GridLayout放置按钮的方式实现布局。
如果要实现行合并的布局效果,采用GridLayout布局是最简单轻松的实现方式。
android:orientation: 设置水平或垂直显示
android:columnCount : 设置列数
android:rowCount : 设置行数
android:layout_rowSpan: 纵向跨合并几列
android:layout_columSpan: 横向合并几行
android:layout_gravity: 在父组件的位置
注意:设置android:layout_rowSpan: 属性后需要设置android:layout_gravity:才可以正常显示
在res/drawable目录下新建一个样式文件.xml文件,定义形状样式,然后在布局代码中调用就好。
调用:android:background="@drawable/布局文件名"
shape: 定义视图的形状,可以为矩形,椭圆形,线形,环形。
stroke: 定义形状边界
solid: 定义形状背景
size: 定义形状大小
corners: 定义圆角度数
android:topLeftRadius
android:topRightRadius
android:bottomRightRadius
android:bottomLeftRadius
了解了需要用到的内容后,我们开始构建布局代码部分了
在drawable目录下新建一个样式文件.xml文件,我的命名为round_button.xml
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="oval">
- <stroke
- android:color="#F8F8F9"
- android:width="3dip"/>
- <solid
- android:color="#FCFCFC"/>
- <size
- android:width="62dp"
- android:height="62dp"/>
- </shape>
效果图:
在drawable目录下新建一个样式文件.xml文件,我的命名为elliptical_button.xml
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <stroke
- android:color="#749FF4"
- android:width="3dip"/>
- <solid
- android:color="#0A59F7"/>
- <size
- android:width="62dp"
- android:height="124dp"/>
- <corners
- android:topLeftRadius="40dp"
- android:topRightRadius="40dp"
- android:bottomRightRadius="40dp"
- android:bottomLeftRadius="40dp"/>
- </shape>

效果图:
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:layout_marginLeft="35dp">
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="vertical"
- android:layout_marginTop="30dp">
- <TextView
- android:id="@+id/tex_M"
- android:layout_width="20dp"
- android:layout_height="20dp"
- android:text="M"
- android:textSize="20sp"
- android:layout_marginLeft="5dp"/>
- <TextView
- android:id="@+id/tex_count"
- android:layout_width="match_parent"
- android:layout_height="60dp"
- android:layout_marginTop="10dp"
- android:text="1024×2"
- android:gravity="right"
- android:textSize="35sp"/>
- <TextView
- android:id="@+id/result"
- android:layout_width="match_parent"
- android:layout_height="50dp"
- android:layout_marginTop="10dp"
- android:textSize="30sp"
- android:text="2048"
- android:gravity="right"/>
-
- </LinearLayout>
- <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:rowCount="6"
- android:columnCount="4"
- android:layout_marginTop="20dp">
-
- <Button
- android:id="@+id/btn_MC"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="MC"
- android:textSize="20sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_MAdd"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="M+"
- android:textSize="20sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_MSub"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="M-"
- android:textSize="20sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_MResult"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="MR"
- android:textSize="20sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
-
- <Button
- android:id="@+id/btn_clear"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="C"
- android:textColor="#0A59F7"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_div"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="÷"
- android:textColor="#0A59F7"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_mul"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="×"
- android:textColor="#0A59F7"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_del"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="⋘"
- android:textColor="#0A59F7"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
-
- <Button
- android:id="@+id/btn_seven"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="7"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_eight"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="8"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_nine"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="9"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_sub"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="━"
- android:textColor="#0A59F7"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
-
- <Button
- android:id="@+id/btn_four"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="4"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_five"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="5"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_six"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="6"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_add"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="+"
- android:textColor="#0A59F7"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
-
- <Button
- android:id="@+id/btn_one"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="1"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_two"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="2"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_three"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="3"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_result"
- android:text="="
- android:textSize="30sp"
- android:textColor="#FCFCFC"
- android:layout_width="75dp"
- android:layout_height="150dp"
- android:layout_rowSpan="2"
- android:layout_gravity="fill"
- android:layout_margin="5dp"
- android:background="@drawable/elliptical_button"/>
-
- <Button
- android:id="@+id/btn_percent"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="%"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_zero"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="0"
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- <Button
- android:id="@+id/btn_point"
- android:layout_width="75dp"
- android:layout_height="75dp"
- android:text="."
- android:textSize="30sp"
- android:layout_margin="5dp"
- android:background="@drawable/round_button"/>
- </GridLayout>
- </LinearLayout>

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。