安卓编程——线性布局
目录
前言
一、界面与布局
(1)视图层次结构图
(2)UI容器 (Container)
(3)UI控件 (Control)
(4)两种方式声明布局
二、线性布局
1、继承关系图
2、常用属性
三、案例演示:线性布局属性
1、创建安卓应用
2、主布局资源文件
3、字符串资源文件
4、启动应用,查看效果
5、设置布局属性,查看效果
总结
前言
- 安卓应用包含界面与功能两个方面,一个好的安卓应用,应该给用户提供良好的体验,其中界面设计至关重要,要设计界面,那就要求开发者熟练使用布局来摆放窗口里的不同组件。
一、界面与布局
1、界面
应用界面包含用户可查看并与之交互的所有内容。安卓提供丰富多样的预置 UI 组件,例如结构化布局对象和 UI 控件,您可以利用这些组件为您的应用构建图形界面。安卓还提供其他界面模块,用于构建特殊界面,例如对话框、通知和菜单。
2、布局
布局可定义应用中的界面结构(例如 Activity 的界面结构)。布局中的所有元素均使用 View 和 ViewGroup 对象的层次结构进行构建。View 通常绘制用户可查看并进行交互的内容。然而,ViewGroup 是不可见容器,用于定义 View 和其他 ViewGroup 对象的布局结构。
(1)视图层次结构图
(2)UI容器 (Container)
UI容器指ViewGroup,也是View的子类,而ViewGroup有几个布局子类:LinearLayout、RelativeLayout、AbsoluteLayout、TableLayout、GridLayout,ConstraintLayout。
(3)UI控件 (Control)
UI控件指Widget(微件),不能再包含其它元素的控件,例如标签(TextView)、文本框(EditText)、按钮(Button)、 活动栏(Action Bar)、对话框(Dialogs)、状态栏(Status)、通知(Notifications)。
(4)两种方式声明布局
在 XML 中声明界面元素:Android 提供对应 View 类及其子类的简明 XML 词汇,如用于微件和布局的词汇。也可使用 Android Studio 的 Layout Editor,并采用拖放界面来构建 XML 布局。
在运行时实例化布局元素:应用可通过编程创建 View 对象和 ViewGroup 对象(并操纵其属性)。
package net.lgh.swtich_belle.;import androidx.appcompat.app.AppCompatActivity;import android.app.ActionBar; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.Button; import android.widget.LinearLayout; import android.widget.Toast;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 创建线性布局LinearLayout layout = new LinearLayout(this);// 设置布局参数(布局宽度和高度)layout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT));// 设置布局对齐方式 - 居中对齐layout.setGravity(Gravity.CENTER);// 设置布局背景图片layout.setBackground(getResources().getDrawable(R.drawable.background));// 创建按钮对象Button btnWelcome = new Button(this);// 设置按钮文本btnWelcome.setText("欢迎");// 添加按钮到布局里layout.addView(btnWelcome);// 设置内容视图,将布局作为用户界面setContentView(layout);// 给【欢迎】按钮注册单击监听器,实现监听器接口,编写事件处理方法btnWelcome.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "欢迎访问泸州职业技术学院", Toast.LENGTH_LONG).show();}});} }
- 借助 Android 框架,您可以灵活选择使用两种或其中一种方法来构建应用界面。例如,您可以在 XML 中声明应用的默认布局,然后在运行时修改布局。
二、线性布局
- 线性布局(LinearLayout)是一种比较常用且简单的布局方式。在这种布局中,所有的子元素都是按照垂直或水平的顺序排列在界面上。如果是垂直排列,每个子元素占一行,如果是水平排列,则每个子元素占一列。线性布局可以支持布局样式嵌套实现复杂的布局样式。
1、继承关系图
- LinearLayout是ViewGroup的子类,注意:后面我们要学习的单选按钮组(RadioGroup)是线性布局的子类
2、常用属性
属性 | 含义 |
---|---|
layout_height | 高度,单位:dp (wrap_content, match_parent) |
layout_weight | 宽度,单位:dp (wrap_content, match_parent) |
orietation | 方向(vertical,horizontal) |
gravity | 对齐方式(left, right, center, top, bottom…) |
background | 背景(颜色[color]、图片[drawable]、选择器[selector]) |
weight | 比重(用于瓜分手机屏幕) |
padding | 内边距 (paddingLeft, paddingRight, paddingTop, paddingBottom) |
margin | 外边距 (marginLeft, marginRight, marginTop, marginBottom) |
三、案例演示:线性布局属性
1、创建安卓应用
2、主布局资源文件
3、字符串资源文件
4、启动应用,查看效果
5、设置布局属性,查看效果
(1)设置线性布局方向
orientation
属性
(2)设置线性布局内边距
padding (paddingTop, paddingBottom, paddingLeft, paddingRight)
总结
安卓应用包含界面与功能两个方面,这篇文章帮助大家了解与下学会摆放安卓手机界面应用的摆放使其方便客户寻找与使用,同时强大手机端的能力。
安卓编程——线性布局相关推荐
- 安卓学习笔记08:常用布局 - 线性布局
文章目录 零.学习目标 一.界面与布局概述 (一)界面 (二)布局 1.视图层次结构图 2.UI容器 (Container) 3.UI控件 (Control) 4.两种方式声明布局 二.线性布局概述 ...
- 安卓学习笔记3.1 线性布局
这里写自定义目录标题 一.导入新课 二.新课学习 (一)界面与布局 1.界面 2.布局 (1)视图层次结构图 (2)UI容器 (Container) (3)UI控件 (Control) (4)两种方式 ...
- Android:安卓线性布局(属性)
安卓线性布局(属性) 安卓六大布局: AbsoluteLayout 绝对布局(已过期,不建议使用) RelativeLayout 相对布局 LinearLayout 线性布局 Fr ...
- Android 开发 -- 开发第一个安卓程序、Android UI开发(布局的创建:相对布局和线性布局、控件单位:px pt dp sp、常用控件 、常见对话框、ListView)
文章目录 1. 开发第一个Hello World程序 1.1 开发程序 1.2 认识程序中的文件 1.3 Android程序结构 1.4 安卓程序打包 2. Android UI开发 2.1 布局的创 ...
- 安卓六大布局之 线性布局(LinearLayout)
Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. Android的六大布局分别是 LinearL ...
- 安卓编程基础——网格布局
目录 前言 一.新课讲解 (一)网格布局概述 1.布局特点 2.继承关系图 3.常用属性 (二)案例演示:计算器界面 1.创建安卓应用 2.准备背景图片 3.字符串资源文件 4.自定义边框配置文件 5 ...
- android 按钮并排左右_线性布局有两个按钮并排 - 安卓
我有3个按钮下出现低于对方的,其中layout.xml ...线性布局有两个按钮并排 - 安卓 android:layout_width="match_parent" androi ...
- 安卓入门系列-04常见布局之LinearLayout(线性布局)
线性布局(LinearLayout)的使用 背景 尽管现在有了很多第三方封装的更加合适的布局定义.(各个地区随着人们的接受程度各不相同)但是作为官方提供的最先的几大布局,学习一下是必要的,因为很多布局 ...
- 安卓案例:线性布局嵌套
文章目录 一.线性布局概述 1.继承关系图 2.常用属性 二.案例运行效果 三.实现步骤
最新文章
- 在React Hook里使用history.push跳转
- HDU 2098 分拆素数和
- 数据结构与算法 / 冒泡排序最坏情况下的时间复杂度解析
- SOA理论与概念深入剖析
- 亚马逊 开发者api 调用_关于微信API:常用微信API文档整理
- c++ eos智能合约开发_[EOS智能合约]第二节:用EOS开发一个To-do List小应用
- 题目1017:还是畅通工程(最小生成树初步应用)
- 关于Python的一切:2018年,你读这8本书就够了
- POJ 3415 (后缀数组)
- R语言并行计算的原理和案例
- 第490篇--Accessing the Domain info is denied in IIS.
- 《卓有成效的管理者》读书笔记
- java项目ppt介绍_Java课设项目介绍及分析.ppt
- 4月30日世界表白日_2020520世界表白日 你该怎么表白
- ElasticSearch 学习(二)—— IK 分词器和 Kibana
- 明日之后最新服务器开服时间,明日之后什么时候开服 新服开区详解
- 聚焦:ZK-SNARK 技术
- 创新业务中真需求和伪需求的思考
- 浅谈视觉与语言中的多模态研究,究竟都研究什么
- Cobalt Strike 提权
热门文章
- 全球及中国反射全息光栅行业发展态势及前景动态预测报告*2022-2027
- python 图片变换,水平镜像翻转
- Python写的炸金花程序(含有特殊牌,可供2-17人重复玩耍)
- 基于Jsp的在线电影院订票|影院购票系统
- linux搭建代理服务器+蚁剑配置客户端代理
- 前端页面结构简单介绍
- 量子计算机到底神在哪里说明文,说明文专题专项训练题(26页)-原创力文档
- 全志H6方案板香橙派OrangePi 3开发板26pin GPIO口测试
- 韩星李起光SNS被黑 社交网络安全刻不容缓
- (转)58同城上市背后:分类信息网站集体转型艰难