当前位置:   article > 正文

Android简单美观计算器(界面部分)_android设计计算器的界面

android设计计算器的界面

一 问题描述:

总体任务:制作一个简单的计算器,实现计算功能。本部分内容:完成计算器的界面制作。

二 解题思路:

布局细分线框图:

采用LinearLayout布局内包含一个LinearLayout用于显示信息,一个GridLayout放置按钮的方式实现布局。

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

三 界面代码:

了解了需要用到的内容后,我们开始构建布局代码部分了

round_button.xml圆形按钮布局文件:

在drawable目录下新建一个样式文件.xml文件,我的命名为round_button.xml

  1. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:shape="oval">
  3. <stroke
  4. android:color="#F8F8F9"
  5. android:width="3dip"/>
  6. <solid
  7. android:color="#FCFCFC"/>
  8. <size
  9. android:width="62dp"
  10. android:height="62dp"/>
  11. </shape>

效果图:

elliptical_button.xml圆角按钮布局文件:

在drawable目录下新建一个样式文件.xml文件,我的命名为elliptical_button.xml

  1. <shape xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:shape="rectangle">
  3. <stroke
  4. android:color="#749FF4"
  5. android:width="3dip"/>
  6. <solid
  7. android:color="#0A59F7"/>
  8. <size
  9. android:width="62dp"
  10. android:height="124dp"/>
  11. <corners
  12. android:topLeftRadius="40dp"
  13. android:topRightRadius="40dp"
  14. android:bottomRightRadius="40dp"
  15. android:bottomLeftRadius="40dp"/>
  16. </shape>

效果图:

activit_main.xml布局代码:

  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2. android:layout_width="wrap_content"
  3. android:layout_height="wrap_content"
  4. android:orientation="vertical"
  5. android:layout_marginLeft="35dp">
  6. <LinearLayout
  7. android:layout_width="match_parent"
  8. android:layout_height="wrap_content"
  9. android:orientation="vertical"
  10. android:layout_marginTop="30dp">
  11. <TextView
  12. android:id="@+id/tex_M"
  13. android:layout_width="20dp"
  14. android:layout_height="20dp"
  15. android:text="M"
  16. android:textSize="20sp"
  17. android:layout_marginLeft="5dp"/>
  18. <TextView
  19. android:id="@+id/tex_count"
  20. android:layout_width="match_parent"
  21. android:layout_height="60dp"
  22. android:layout_marginTop="10dp"
  23. android:text="1024×2"
  24. android:gravity="right"
  25. android:textSize="35sp"/>
  26. <TextView
  27. android:id="@+id/result"
  28. android:layout_width="match_parent"
  29. android:layout_height="50dp"
  30. android:layout_marginTop="10dp"
  31. android:textSize="30sp"
  32. android:text="2048"
  33. android:gravity="right"/>
  34. </LinearLayout>
  35. <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
  36. android:layout_width="wrap_content"
  37. android:layout_height="wrap_content"
  38. android:orientation="horizontal"
  39. android:rowCount="6"
  40. android:columnCount="4"
  41. android:layout_marginTop="20dp">
  42. <Button
  43. android:id="@+id/btn_MC"
  44. android:layout_width="75dp"
  45. android:layout_height="75dp"
  46. android:text="MC"
  47. android:textSize="20sp"
  48. android:layout_margin="5dp"
  49. android:background="@drawable/round_button"/>
  50. <Button
  51. android:id="@+id/btn_MAdd"
  52. android:layout_width="75dp"
  53. android:layout_height="75dp"
  54. android:text="M+"
  55. android:textSize="20sp"
  56. android:layout_margin="5dp"
  57. android:background="@drawable/round_button"/>
  58. <Button
  59. android:id="@+id/btn_MSub"
  60. android:layout_width="75dp"
  61. android:layout_height="75dp"
  62. android:text="M-"
  63. android:textSize="20sp"
  64. android:layout_margin="5dp"
  65. android:background="@drawable/round_button"/>
  66. <Button
  67. android:id="@+id/btn_MResult"
  68. android:layout_width="75dp"
  69. android:layout_height="75dp"
  70. android:text="MR"
  71. android:textSize="20sp"
  72. android:layout_margin="5dp"
  73. android:background="@drawable/round_button"/>
  74. <Button
  75. android:id="@+id/btn_clear"
  76. android:layout_width="75dp"
  77. android:layout_height="75dp"
  78. android:text="C"
  79. android:textColor="#0A59F7"
  80. android:textSize="30sp"
  81. android:layout_margin="5dp"
  82. android:background="@drawable/round_button"/>
  83. <Button
  84. android:id="@+id/btn_div"
  85. android:layout_width="75dp"
  86. android:layout_height="75dp"
  87. android:text="÷"
  88. android:textColor="#0A59F7"
  89. android:textSize="30sp"
  90. android:layout_margin="5dp"
  91. android:background="@drawable/round_button"/>
  92. <Button
  93. android:id="@+id/btn_mul"
  94. android:layout_width="75dp"
  95. android:layout_height="75dp"
  96. android:text="×"
  97. android:textColor="#0A59F7"
  98. android:textSize="30sp"
  99. android:layout_margin="5dp"
  100. android:background="@drawable/round_button"/>
  101. <Button
  102. android:id="@+id/btn_del"
  103. android:layout_width="75dp"
  104. android:layout_height="75dp"
  105. android:text="⋘"
  106. android:textColor="#0A59F7"
  107. android:textSize="30sp"
  108. android:layout_margin="5dp"
  109. android:background="@drawable/round_button"/>
  110. <Button
  111. android:id="@+id/btn_seven"
  112. android:layout_width="75dp"
  113. android:layout_height="75dp"
  114. android:text="7"
  115. android:textSize="30sp"
  116. android:layout_margin="5dp"
  117. android:background="@drawable/round_button"/>
  118. <Button
  119. android:id="@+id/btn_eight"
  120. android:layout_width="75dp"
  121. android:layout_height="75dp"
  122. android:text="8"
  123. android:textSize="30sp"
  124. android:layout_margin="5dp"
  125. android:background="@drawable/round_button"/>
  126. <Button
  127. android:id="@+id/btn_nine"
  128. android:layout_width="75dp"
  129. android:layout_height="75dp"
  130. android:text="9"
  131. android:textSize="30sp"
  132. android:layout_margin="5dp"
  133. android:background="@drawable/round_button"/>
  134. <Button
  135. android:id="@+id/btn_sub"
  136. android:layout_width="75dp"
  137. android:layout_height="75dp"
  138. android:text="━"
  139. android:textColor="#0A59F7"
  140. android:textSize="30sp"
  141. android:layout_margin="5dp"
  142. android:background="@drawable/round_button"/>
  143. <Button
  144. android:id="@+id/btn_four"
  145. android:layout_width="75dp"
  146. android:layout_height="75dp"
  147. android:text="4"
  148. android:textSize="30sp"
  149. android:layout_margin="5dp"
  150. android:background="@drawable/round_button"/>
  151. <Button
  152. android:id="@+id/btn_five"
  153. android:layout_width="75dp"
  154. android:layout_height="75dp"
  155. android:text="5"
  156. android:textSize="30sp"
  157. android:layout_margin="5dp"
  158. android:background="@drawable/round_button"/>
  159. <Button
  160. android:id="@+id/btn_six"
  161. android:layout_width="75dp"
  162. android:layout_height="75dp"
  163. android:text="6"
  164. android:textSize="30sp"
  165. android:layout_margin="5dp"
  166. android:background="@drawable/round_button"/>
  167. <Button
  168. android:id="@+id/btn_add"
  169. android:layout_width="75dp"
  170. android:layout_height="75dp"
  171. android:text="+"
  172. android:textColor="#0A59F7"
  173. android:textSize="30sp"
  174. android:layout_margin="5dp"
  175. android:background="@drawable/round_button"/>
  176. <Button
  177. android:id="@+id/btn_one"
  178. android:layout_width="75dp"
  179. android:layout_height="75dp"
  180. android:text="1"
  181. android:textSize="30sp"
  182. android:layout_margin="5dp"
  183. android:background="@drawable/round_button"/>
  184. <Button
  185. android:id="@+id/btn_two"
  186. android:layout_width="75dp"
  187. android:layout_height="75dp"
  188. android:text="2"
  189. android:textSize="30sp"
  190. android:layout_margin="5dp"
  191. android:background="@drawable/round_button"/>
  192. <Button
  193. android:id="@+id/btn_three"
  194. android:layout_width="75dp"
  195. android:layout_height="75dp"
  196. android:text="3"
  197. android:textSize="30sp"
  198. android:layout_margin="5dp"
  199. android:background="@drawable/round_button"/>
  200. <Button
  201. android:id="@+id/btn_result"
  202. android:text="="
  203. android:textSize="30sp"
  204. android:textColor="#FCFCFC"
  205. android:layout_width="75dp"
  206. android:layout_height="150dp"
  207. android:layout_rowSpan="2"
  208. android:layout_gravity="fill"
  209. android:layout_margin="5dp"
  210. android:background="@drawable/elliptical_button"/>
  211. <Button
  212. android:id="@+id/btn_percent"
  213. android:layout_width="75dp"
  214. android:layout_height="75dp"
  215. android:text="%"
  216. android:textSize="30sp"
  217. android:layout_margin="5dp"
  218. android:background="@drawable/round_button"/>
  219. <Button
  220. android:id="@+id/btn_zero"
  221. android:layout_width="75dp"
  222. android:layout_height="75dp"
  223. android:text="0"
  224. android:textSize="30sp"
  225. android:layout_margin="5dp"
  226. android:background="@drawable/round_button"/>
  227. <Button
  228. android:id="@+id/btn_point"
  229. android:layout_width="75dp"
  230. android:layout_height="75dp"
  231. android:text="."
  232. android:textSize="30sp"
  233. android:layout_margin="5dp"
  234. android:background="@drawable/round_button"/>
  235. </GridLayout>
  236. </LinearLayout>

四 运行效果:

结束语: 

如果你这篇文章还不错的话,求点赞求收藏求转发,最重要的是你的支持是我做记录的最大动力,非常感谢!!!

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号