• 安卓基础学习 Day17|网格布局+计算器界面


    目录

    一、线性布局的常用属性

    针对布局的属性

    针对子控件的属性

    二、演示案例

    提出要求

    布局分析

    主布局资源文件

    运行效果

    三、网格APP布局练习

    提出要求

    布局分析

    主布局资源文件

    实现效果


    一、线性布局的常用属性

    针对布局的属性

    • rowCount:行数
    • columnCount:列数

    针对子控件的属性

    • layout_row:子控件在布局的行数
    • layout_column:子控件在布局的列数
    • layout_rowSpan:跨行数
    • layout_columnSpan:跨列数

    【子元素超过一行的宽度,超过的地方也显示。(比如,父元素上设置了5行,那么子元素不能设置让它显示在第六行)】 

    二、演示案例

    提出要求

    布局分析

    主布局资源文件

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:tools="http://schemas.android.com/tools"
    4. android:layout_width="match_parent"
    5. android:layout_height="match_parent"
    6. android:background="@mipmap/background"
    7. android:gravity="center"
    8. android:orientation="vertical"
    9. tools:context=".MainActivity">
    10. <GridLayout
    11. android:layout_width="wrap_content"
    12. android:layout_height="wrap_content"
    13. android:layout_marginTop="10dp"
    14. android:columnCount="5"
    15. android:padding="15dp"
    16. android:rowCount="7">
    17. <TextView
    18. android:layout_width="320dp"
    19. android:layout_height="50dp"
    20. android:layout_row="0"
    21. android:layout_column="0"
    22. android:layout_columnSpan="5"
    23. android:layout_marginBottom="30dp"
    24. android:background="@drawable/custom_border"
    25. android:gravity="right"
    26. android:text="@string/text"
    27. android:textColor="#0000ff"
    28. android:textSize="25sp" />
    29. <Button
    30. android:layout_width="65dp"
    31. android:layout_row="1"
    32. android:layout_column="0"
    33. android:text="@string/mc" />
    34. <Button
    35. android:layout_width="65dp"
    36. android:layout_row="1"
    37. android:layout_column="1"
    38. android:text="@string/mr" />
    39. <Button
    40. android:layout_width="65dp"
    41. android:layout_row="1"
    42. android:layout_column="2"
    43. android:text="@string/ms" />
    44. <Button
    45. android:layout_width="65dp"
    46. android:layout_row="1"
    47. android:layout_column="3"
    48. android:text="@string/mm" />
    49. <Button
    50. android:layout_width="65dp"
    51. android:layout_row="1"
    52. android:layout_column="4"
    53. android:text="@string/mmm" />
    54. <Button
    55. android:layout_width="65dp"
    56. android:layout_height="wrap_content"
    57. android:layout_row="2"
    58. android:layout_column="0"
    59. android:text="@string/tuiwei" />
    60. <Button
    61. android:layout_width="65dp"
    62. android:layout_row="2"
    63. android:layout_column="1"
    64. android:text="@string/ce" />
    65. <Button
    66. android:layout_width="65dp"
    67. android:layout_row="2"
    68. android:layout_column="2"
    69. android:text="@string/c" />
    70. <Button
    71. android:layout_width="65dp"
    72. android:layout_row="2"
    73. android:layout_column="3"
    74. android:text="@string/add_sub" />
    75. <Button
    76. android:layout_width="65dp"
    77. android:layout_row="2"
    78. android:layout_column="4"
    79. android:text="@string/gen" />
    80. <Button
    81. android:layout_width="65dp"
    82. android:layout_height="wrap_content"
    83. android:layout_row="3"
    84. android:layout_column="0"
    85. android:text="@string/seven" />
    86. <Button
    87. android:layout_width="65dp"
    88. android:layout_row="3"
    89. android:layout_column="1"
    90. android:text="@string/eight" />
    91. <Button
    92. android:layout_width="65dp"
    93. android:layout_row="3"
    94. android:layout_column="2"
    95. android:text="@string/nine" />
    96. <Button
    97. android:layout_width="65dp"
    98. android:layout_row="3"
    99. android:layout_column="3"
    100. android:text="@string/chu" />
    101. <Button
    102. android:layout_width="65dp"
    103. android:layout_row="3"
    104. android:layout_column="4"
    105. android:text="@string/quyu" />
    106. <Button
    107. android:layout_width="65dp"
    108. android:layout_row="4"
    109. android:layout_column="0"
    110. android:text="@string/four" />
    111. <Button
    112. android:layout_width="65dp"
    113. android:layout_row="4"
    114. android:layout_column="1"
    115. android:text="@string/five" />
    116. <Button
    117. android:layout_width="65dp"
    118. android:layout_row="4"
    119. android:layout_column="2"
    120. android:text="@string/six" />
    121. <Button
    122. android:layout_width="65dp"
    123. android:layout_row="4"
    124. android:layout_column="3"
    125. android:text="@string/cheng" />
    126. <Button
    127. android:layout_width="65dp"
    128. android:layout_row="4"
    129. android:layout_column="4"
    130. android:text="@string/fen" />
    131. <Button
    132. android:layout_width="65dp"
    133. android:layout_row="5"
    134. android:layout_column="0"
    135. android:text="@string/one" />
    136. <Button
    137. android:layout_width="65dp"
    138. android:layout_row="5"
    139. android:layout_column="1"
    140. android:text="@string/two" />
    141. <Button
    142. android:layout_width="65dp"
    143. android:layout_row="5"
    144. android:layout_column="2"
    145. android:text="@string/three" />
    146. <Button
    147. android:layout_width="65dp"
    148. android:layout_row="5"
    149. android:layout_column="3"
    150. android:text="@string/sub" />
    151. <Button
    152. android:layout_width="65dp"
    153. android:layout_height="95dp"
    154. android:layout_row="5"
    155. android:layout_rowSpan="2"
    156. android:layout_column="4"
    157. android:text="@string/deng" />
    158. <Button
    159. android:layout_width="130dp"
    160. android:layout_row="6"
    161. android:layout_column="0"
    162. android:layout_columnSpan="2"
    163. android:text="@string/zero" />
    164. <Button
    165. android:layout_width="65dp"
    166. android:layout_row="6"
    167. android:layout_column="2"
    168. android:text="@string/point" />
    169. <Button
    170. android:layout_width="65dp"
    171. android:layout_row="6"
    172. android:layout_column="3"
    173. android:text="@string/add" />
    174. </GridLayout>
    175. </LinearLayout>

    运行效果

    三、网格APP布局练习

    提出要求

    布局分析

    主布局资源文件

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    3. xmlns:tools="http://schemas.android.com/tools"
    4. android:layout_width="match_parent"
    5. android:layout_height="match_parent"
    6. android:gravity="center"
    7. android:orientation="vertical"
    8. tools:context=".MainActivity">
    9. <GridLayout
    10. android:layout_width="wrap_content"
    11. android:layout_height="wrap_content"
    12. android:rowCount="4"
    13. android:columnCount="3">
    14. <LinearLayout
    15. android:layout_width="wrap_content"
    16. android:layout_height="wrap_content"
    17. android:gravity="center"
    18. android:orientation="vertical">
    19. <ImageView
    20. android:layout_width="100dp"
    21. android:layout_height="100dp"
    22. android:src="@mipmap/xcly"/>
    23. <TextView
    24. android:layout_width="wrap_content"
    25. android:layout_height="wrap_content"
    26. android:text="携程旅游"
    27. android:gravity="center"
    28. android:textSize="20sp">
    29. </TextView>
    30. </LinearLayout>
    31. <LinearLayout
    32. android:layout_width="wrap_content"
    33. android:layout_height="wrap_content"
    34. android:gravity="center"
    35. android:orientation="vertical">
    36. <ImageView
    37. android:layout_width="100dp"
    38. android:layout_height="100dp"
    39. android:src="@mipmap/qq"/>
    40. <TextView
    41. android:layout_width="wrap_content"
    42. android:layout_height="wrap_content"
    43. android:text="QQ"
    44. android:gravity="center"
    45. android:textSize="20sp">
    46. </TextView>
    47. </LinearLayout>
    48. <LinearLayout
    49. android:layout_width="wrap_content"
    50. android:layout_height="wrap_content"
    51. android:gravity="center"
    52. android:orientation="vertical">
    53. <ImageView
    54. android:layout_width="100dp"
    55. android:layout_height="100dp"
    56. android:src="@mipmap/tk"/>
    57. <TextView
    58. android:layout_width="wrap_content"
    59. android:layout_height="wrap_content"
    60. android:text="图库"
    61. android:gravity="center"
    62. android:textSize="20sp">
    63. </TextView>
    64. </LinearLayout>
    65. <LinearLayout
    66. android:layout_width="wrap_content"
    67. android:layout_height="wrap_content"
    68. android:gravity="center"
    69. android:orientation="vertical">
    70. <ImageView
    71. android:layout_width="100dp"
    72. android:layout_height="100dp"
    73. android:src="@mipmap/wb"/>
    74. <TextView
    75. android:layout_width="wrap_content"
    76. android:layout_height="wrap_content"
    77. android:text="微博"
    78. android:gravity="center"
    79. android:textSize="20sp">
    80. </TextView>
    81. </LinearLayout>
    82. <LinearLayout
    83. android:layout_width="wrap_content"
    84. android:layout_height="wrap_content"
    85. android:gravity="center"
    86. android:orientation="vertical">
    87. <ImageView
    88. android:layout_width="100dp"
    89. android:layout_height="100dp"
    90. android:src="@mipmap/wx"/>
    91. <TextView
    92. android:layout_width="wrap_content"
    93. android:layout_height="wrap_content"
    94. android:text="微信"
    95. android:gravity="center"
    96. android:textSize="20sp">
    97. </TextView>
    98. </LinearLayout>
    99. <LinearLayout
    100. android:layout_width="wrap_content"
    101. android:layout_height="wrap_content"
    102. android:gravity="center"
    103. android:orientation="vertical">
    104. <ImageView
    105. android:layout_width="100dp"
    106. android:layout_height="100dp"
    107. android:src="@mipmap/wyy"/>
    108. <TextView
    109. android:layout_width="wrap_content"
    110. android:layout_height="wrap_content"
    111. android:text="网易云音乐"
    112. android:gravity="center"
    113. android:textSize="20sp">
    114. </TextView>
    115. </LinearLayout>
    116. <LinearLayout
    117. android:layout_width="wrap_content"
    118. android:layout_height="wrap_content"
    119. android:gravity="center"
    120. android:orientation="vertical">
    121. <ImageView
    122. android:layout_width="100dp"
    123. android:layout_height="100dp"
    124. android:src="@mipmap/zgyh"/>
    125. <TextView
    126. android:layout_width="wrap_content"
    127. android:layout_height="wrap_content"
    128. android:text="中国银行"
    129. android:gravity="center"
    130. android:textSize="20sp">
    131. </TextView>
    132. </LinearLayout>
    133. <LinearLayout
    134. android:layout_width="wrap_content"
    135. android:layout_height="wrap_content"
    136. android:gravity="center"
    137. android:orientation="vertical">
    138. <ImageView
    139. android:layout_width="100dp"
    140. android:layout_height="100dp"
    141. android:src="@mipmap/zy"/>
    142. <TextView
    143. android:layout_width="wrap_content"
    144. android:layout_height="wrap_content"
    145. android:text="最右"
    146. android:gravity="center"
    147. android:textSize="20sp">
    148. </TextView>
    149. </LinearLayout>
    150. <LinearLayout
    151. android:layout_width="wrap_content"
    152. android:layout_height="wrap_content"
    153. android:gravity="center"
    154. android:orientation="vertical">
    155. <ImageView
    156. android:layout_width="100dp"
    157. android:layout_height="100dp"
    158. android:src="@mipmap/elm"/>
    159. <TextView
    160. android:layout_width="wrap_content"
    161. android:layout_height="wrap_content"
    162. android:text="饿了吗"
    163. android:gravity="center"
    164. android:textSize="20sp">
    165. </TextView>
    166. </LinearLayout>
    167. <LinearLayout
    168. android:layout_width="wrap_content"
    169. android:layout_height="wrap_content"
    170. android:gravity="center"
    171. android:orientation="vertical">
    172. <ImageView
    173. android:layout_width="100dp"
    174. android:layout_height="100dp"
    175. android:src="@mipmap/keep"/>
    176. <TextView
    177. android:layout_width="wrap_content"
    178. android:layout_height="wrap_content"
    179. android:text="Keep"
    180. android:gravity="center"
    181. android:textSize="20sp">
    182. </TextView>
    183. </LinearLayout>
    184. <LinearLayout
    185. android:layout_width="wrap_content"
    186. android:layout_height="wrap_content"
    187. android:gravity="center"
    188. android:orientation="vertical">
    189. <ImageView
    190. android:layout_width="100dp"
    191. android:layout_height="100dp"
    192. android:src="@mipmap/dh"/>
    193. <TextView
    194. android:layout_width="wrap_content"
    195. android:layout_height="wrap_content"
    196. android:text="电话"
    197. android:gravity="center"
    198. android:textSize="20sp">
    199. </TextView>
    200. </LinearLayout>
    201. <LinearLayout
    202. android:layout_width="wrap_content"
    203. android:layout_height="wrap_content"
    204. android:gravity="center"
    205. android:orientation="vertical">
    206. <ImageView
    207. android:layout_width="100dp"
    208. android:layout_height="100dp"
    209. android:src="@mipmap/ys"/>
    210. <TextView
    211. android:layout_width="wrap_content"
    212. android:layout_height="wrap_content"
    213. android:text="影视"
    214. android:gravity="center"
    215. android:textSize="20sp">
    216. </TextView>
    217. </LinearLayout>
    218. </GridLayout>
    219. </LinearLayout>

    实现效果

  • 相关阅读:
    Javascript知识【JS方法和事件&正则&JS注册案例】
    什么是视频内容推荐引擎?
    WebDAV之葫芦儿·派盘 + ES文件浏览器
    【Docker】实现JMeter分布式压测
    Oracle EBS Interface/API(42) -会计账户组合交叉验证规则标准API和客制化API
    nginx配置详解
    docker 安装oracle 19c
    ​SAP MM 使用两个STO实现免关税跨国公司间转储
    进程状态和优先级【Linux】
    使用json-bigint库处理后端返回数值型数据精度丢失问题
  • 原文地址:https://blog.csdn.net/m0_64018773/article/details/125565126