安卓学习笔记11:常用布局 - 网格布局
文章目录
- 零、学习目标
- 一、网格布局概述
- 1、布局特点
- 2、继承关系图
- 3、常用属性
- (1)针对布局的属性
- (2)针对子控件的属性
- 二、案例演示——计算器界面
- (一)运行效果
- (二)涉及知识点
- (三)实现步骤
- 1、创建安卓应用【GridLayoutCalculator】
- 2、将一张背景图片拷贝到drawable目录里
- 3、主布局资源文件activity_main.xml
- 4、在drawable目录里添加custom_border.xml
- 5、启动应用,查看效果
- 三、课后作业
- 1、网格布局练习1
- 2、网格布局练习2
零、学习目标
- 能说出网格布局常用的属性
- 能利用网格布局实现简单的界面设计
一、网格布局概述
1、布局特点
GridLayout布局使用虚细线将布局划分为行、列和单元格,也支持一个控件在行、列上都有交错排列。
2、继承关系图
3、常用属性
(1)针对布局的属性
- rowCount:行数
- columnCount:列数
(2)针对子控件的属性
- layout_row:子控件在布局的行数
- layout_column:子控件在布局的列数
- layout_rowSpan:跨行数
- layout_columnSpan:跨列数
二、案例演示——计算器界面
(一)运行效果
(二)涉及知识点
1、网格布局(GridLayout)
2、线性布局(LinearLayout)
3、文本视图(TextView)
4、按钮(Button)
(三)实现步骤
1、创建安卓应用【GridLayoutCalculator】
2、将一张背景图片拷贝到drawable目录里
3、主布局资源文件activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background"android:orientation="vertical"android:padding="15dp"android:gravity="center_horizontal"tools:context="net.hw.calculator.MainActivity"><GridLayoutandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginTop="10dp"android:columnCount="5"android:rowCount="7"><TextViewandroid:layout_width="320dp"android:layout_height="50dp"android:layout_row="0"android:layout_column="0"android:layout_columnSpan="5"android:gravity="right"android:background="@drawable/custom_border"android:paddingRight="10dp"android:text="0123456789"android:textColor="#0000ff"android:textSize="25sp"android:layout_marginBottom="30dp"/><Buttonandroid:layout_width="65dp"android:layout_row="1"android:layout_column="0"android:text="MC" /><Buttonandroid:layout_width="65dp"android:layout_row="1"android:layout_column="1"android:text="MR" /><Buttonandroid:layout_width="65dp"android:layout_row="1"android:layout_column="2"android:text="MS" /><Buttonandroid:layout_width="65dp"android:layout_row="1"android:layout_column="3"android:text="M+" /><Buttonandroid:layout_width="65dp"android:layout_row="1"android:layout_column="4"android:text="M-" /><Buttonandroid:layout_width="65dp"android:layout_row="2"android:layout_column="0"android:text="←" /><Buttonandroid:layout_width="65dp"android:layout_row="2"android:layout_column="1"android:text="CE" /><Buttonandroid:layout_width="65dp"android:layout_row="2"android:layout_column="2"android:text="C" /><Buttonandroid:layout_width="65dp"android:layout_row="2"android:layout_column="3"android:text="±" /><Buttonandroid:layout_width="65dp"android:layout_row="2"android:layout_column="4"android:text="√" /><Buttonandroid:layout_width="65dp"android:layout_row="3"android:layout_column="0"android:text="7" /><Buttonandroid:layout_width="65dp"android:layout_row="3"android:layout_column="1"android:text="8" /><Buttonandroid:layout_width="65dp"android:layout_row="3"android:layout_column="2"android:text="9" /><Buttonandroid:layout_width="65dp"android:layout_row="3"android:layout_column="3"android:text="/" /><Buttonandroid:layout_width="65dp"android:layout_row="3"android:layout_column="4"android:text="%" /><Buttonandroid:layout_width="65dp"android:layout_row="4"android:layout_column="0"android:text="4" /><Buttonandroid:layout_width="65dp"android:layout_row="4"android:layout_column="1"android:text="5" /><Buttonandroid:layout_width="65dp"android:layout_row="4"android:layout_column="2"android:text="6" /><Buttonandroid:layout_width="65dp"android:layout_row="4"android:layout_column="3"android:text="*" /><Buttonandroid:layout_width="65dp"android:layout_row="4"android:layout_column="4"android:text="1/x" /><Buttonandroid:layout_width="65dp"android:layout_row="5"android:layout_column="0"android:text="1" /><Buttonandroid:layout_width="65dp"android:layout_row="5"android:layout_column="1"android:text="2" /><Buttonandroid:layout_width="65dp"android:layout_row="5"android:layout_column="2"android:text="3" /><Buttonandroid:layout_width="65dp"android:layout_row="5"android:layout_column="3"android:text="-" /><Buttonandroid:layout_width="65dp"android:layout_height="95dp"android:layout_row="5"android:layout_rowSpan="2"android:layout_column="4"android:text="=" /><Buttonandroid:layout_width="130dp"android:layout_row="6"android:layout_column="0"android:layout_columnSpan="2"android:text="0" /><Buttonandroid:layout_width="65dp"android:layout_row="6"android:layout_column="2"android:text="." /><Buttonandroid:layout_width="65dp"android:layout_row="6"android:layout_column="3"android:text="+" /></GridLayout>
</LinearLayout>
4、在drawable目录里添加custom_border.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle"><corners android:radius="5dp" /><solid android:color="#eeeeee" /><strokeandroid:width="1dp"android:color="#555555" /><paddingandroid:bottom="10dp"android:left="10dp"android:right="10dp"android:top="10dp" /><gradientandroid:endColor="#eeeeee"android:startColor="#aaaaaa" />
</shape>
5、启动应用,查看效果
三、课后作业
1、网格布局练习1
2、网格布局练习2
- 图片配文字
安卓学习笔记11:常用布局 - 网格布局相关推荐
- android学习笔记---android常用的软件布局方式,使用方法总结
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...
- 2020年安卓学习笔记目录
文章目录 一.讲课笔记 二.安卓案例 三.安卓实训项目 四.学生安卓学习博客 五.安卓课后作业 (一)界面设计练习 1.制作登录界面 2.制作部队管理界面 3.制作灭火救援界面 4.制作交付界面 5. ...
- AD学习笔记(四)PCB布局分析
文章目录 AD学习笔记 第四讲 PCB布局分析 一.PCB导入以及常见报错解决方法 二.常见绿色报错的消除 三.PCB板框的评估及叠层设计 四.快捷键设置及推荐 五.PCB布局注意事项 AD学习笔记 ...
- Android学习笔记---09_深入了解各种布局技术
Android学习笔记---09_深入了解各种布局技术 09_深入了解各种布局技术
- 「学习笔记」黑马面面布局开发
「学习笔记」黑马面面布局开发 黑马面面布局开发 一.目的 1.1 技术方案 1.2 代码规范 1.2 目录规范 二.流程开发 2.1 蓝湖/摹客协作平台 2.2 适配方案 2.3 初始化文件 2.4 ...
- 前端学习笔记36-水平方向的布局
前端学习笔记36-水平方向的布局 上一节中的margin-right是没用的,为什么呢? 子元素的七个水平布局设置: margin-left border-left padding-left widt ...
- 安卓学习笔记07:事件处理、窗口跳转与传递数据
文章目录 零.学习目标 一.三个基本控件 1.标签控件(TextView) 2.编辑框控件(EditText) 3.按钮控件(Button) 二.安卓事件处理机制 (一)安卓事件处理概述 (二)安卓事 ...
- Python学习笔记:常用第三方模块3
前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...
- 很low的安卓学习笔记(一、实用技巧)
很low的安卓学习笔记(一.实用技巧) 一.学习了几天的实用技巧小总结: 1.规范的定义内容的格式: 2.一些快捷键 3.将xxx.xml布局改为Activity中可以调用的View视图 4.当左下角 ...
最新文章
- 解决RuntimeError: cuda runtime error (30) : unknown error at /pytorch/aten/src/THC/THCGeneral.cpp:70N
- 学python有必要买书吗-终于明白python需要学什么
- ProjectEuler 005题
- 如何将已有mdf文件导入到SQL 2000 或者 SQL 2005
- python实现邮件客户端_利用python实现简单的邮件发送客户端示例
- mysql设置输出格式_rsyslog 配置mysql输出格式
- 如何查看服务器gpu性能,ubuntu服务器查看GPU和CPU实时使用情况
- clion变量配置_cygwin安装和clion配置
- jmeter元件的作用域与执行顺序
- Linux Tomcat9 控制界面及管理配置
- 网络安全:漏洞测试主要平台 BackTrack4+Metasploit+ruby
- 谈谈滞后补偿器与PI控制及其原理分析
- android 点击事件失效,安卓手机微信自带浏览器点击事件失效解决
- 保护域及安全域的概念:受保护的资源所在的区域
- 什么是App推广技术?
- 二进制十进制十六进制转换_二进制数制到十进制数制的转换
- 拉升股价套利为饵狂骗157万 广州邦臣机械气化炉警方:防理财诈骗
- win10主题更换_【小A问答】遇到超好看的Win10主题壁纸如何提取?
- 机器学习算法平台alink_阿里正式开源通用算法平台Alink,“双11”将天猫推荐点击率提升4...
- STM32——GPIO的CRL、CRH和CNF与MODE的关系
热门文章
- 【华为云技术分享】解密如何使用昇腾AI计算解决方案构建业务引擎
- 【华为云技术分享】Linux内核补丁源码分析(1)
- 【华为云技术分享】区块链与数据库如何结合?
- 大前端的自动化工厂(5)—— 基于Karma+Mocha+Chai的单元测试和接口测试
- python separator_在Python中使用分隔符变量拆分字符串
- 红橙Darren视频笔记 流式布局tagLayout measure layout方法学习 adapter使用 学习感悟
- idea 关于2020maven home directory的路径
- Windows下jupyter notebook 修改打开的浏览器为chrome
- centos7.0查看IP
- java利用递归解决汉诺塔问题