Android开发-AS学习(三)(布局)

news/2024/11/19 18:30:03/

相关文章链接:

Android开发-AS学习(一)(控件)

Android开发-AS学习(二)(控件)

Android开发应用案例——简易计算器(附完整源码)

二、布局

2.1 Linearyout

常见属性

说明

orientation

布局中组件的排列方式

gravity

控制组件所包含的子元素的对齐方式,可多个组合

layout_gravity

控制该组件在父容器里的对齐方式

background

为该组件设置一个背景图片,或者是直接用颜色覆盖

divider

分割线

showDividers

设置分割线所在的位置,none(无)begining(开始)end(结束)middle(每两个组件间

dividerPadding

设置分割线的padding

layout_weight(权重)

该属性是用来等比例的划分区域

2.2 RelativeLayout

根据父容器定位

属性

说明

layout_alignParentLeft

左对齐

layout_alignParentRight

右对齐

layout_alignParentTop

顶部对齐

layout_centerParentBottom

底部对齐

layout_centerParentVertical

垂直居中

layout_centerParentHorizontal

水平居中

layout_centerParent

中间位置

根据兄弟组件定位

属性

说明

layout_toLeftOf

放置于参考组件的左边(默认)

layout_toRightOf

放置于参考组件的右边

layout_above

放置于参考组件的上方

layout_below

放置于参考组件的下方

layout_alignTop

对齐参考组件的上边界

layout_alignBottom

对齐参考组件的下边界

layout_alignLeft

对齐参考组件的左边界

layout_alignRight

对齐参考组件的右边界

通用属性:

margin设置组件与父容器的边距

说明

layout_margin

上下左右偏移

layout_marginLeft

layout_marginRight

layout_marginTop

layout_marginBottom

Padding设置组件内部元素的边距

2.3 FrameLayout

android:foreground 设置前景

android:foregroundGravity 设置前景位置

2.4 TableLayout

常见属性:

属性

说明

android:collapseColumns

设置需要被隐藏的列的序号,从0开始

android:stretchColumns

设置允许被拉伸的列的序号,从0开始

android:shrinkColumns

设置允许被收缩的列的序号,从0开始

子控件设置属性:

属性

说明

android:layout_column

显示在第几列

Android:layout_span

横向跨几列

2.5 GridLayout

常见属性

说明

android:orientation

设置水平显示还是垂直显示

android:columnCount

设置行的显示个数

android:rowCount

设置列的显示个数

子控件属性

说明

android:layout_column

显示在第几列

android:layout_columnSpan

横向跨几列

android:layout_columnWeight

横向剩余空间分配方式

android:layout_gravity

在网格中的显示位置

android:layout_rowSpan

横向跨几行

android:layout_row

显示在第几行

android:layout_rowWeight

纵向剩余空间分配方式

MainActivity.java

<?xml version="1.0" encoding="utf-8"?>
<GridLayoutandroid:layout_height="match_parent"android:layout_width="match_parent"android:orientation="horizontal"android:columnCount="3"xmlns:android="http://schemas.android.com/apk/res/android"><Buttonandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="第一个"/><Buttonandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:layout_row="1"android:layout_column="0"android:text="第二个"/><Buttonandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="第三个"/><Buttonandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:layout_columnWeight="1"android:text="第四个"/><Buttonandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="第五个"android:layout_columnSpan="3"android:layout_gravity="center"/></GridLayout>

2.6 ConstraintLayout

ConstraintLayout——约束布局

在design界面进行约束的调整

infer constraint推导约束:根据控件的布局,自动推导相应约束。(推荐)


http://www.ppmy.cn/news/12602.html

相关文章

机器学习/人工智能 实验二:图像特征自动学习方法实践与分析

写在前面 参考的是https://zh.d2l.ai/index.html 一、实验目的与要求 (1)利用基于深度学习的特征自动学习方法完成图像特征提取的实验方案的设计。 (2)编程并利用相关软件完成实验测试&#xff0c;得到实验结果。 (3)通过对实验数据的分析、整理&#xff0c;得出实验结论&am…

【JavaEE】多线程之线程安全(synchronized篇),死锁问题

目录 线程安全问题 观察线程不安全 线程安全问题的原因 从原子性入手解决线程安全问题 ——synchronized synchronized的使用方法 synchronized的互斥性和可重入性 死锁 死锁的三个典型情况 死锁的四个必要条件 破除死锁 线程安全问题 在前面的章节中&#xff0c…

【经典笔试题】动态内存管理

test1&#xff1a;void GetMemory(char* p) {p (char*)malloc(100); } void Test(void) {char* str NULL;GetMemory(str);strcpy(str, "hello world");printf(str); }int main() {Test();return 0; }请问执行上面代码&#xff0c;会出现什么结果&#xff1f;解析&a…

一文入门 —— JavaScript

系列文章目录 文章目录 系列文章目录前言一、JavaScript是什么?二、使用方法三、基本语法四、DOM对象五、BOM对象其它资料前言 本系列教程目录与说明可查看这篇文章:C/C++教程 本章主要介绍前端三大基石之一的JavaScript 一、JavaScript是什么? 它并不像HTML、CSS这样看…

opencv的mat openvino的tensor libtorch的tensor

opencv的mat 对于矩阵数据&#xff0c;在opencv里面是通过使用mat这个数据结构来实现的&#xff0c;我觉得这个数据结构本身设计是用来做图片的存储&#xff0c;所以很多的教程都是关于三维矩阵的&#xff08;其中一个维度是channel&#xff09;&#xff0c;关于三维矩阵的定义…

JUC面试(一)——JUCJMMvolatile 1.0

JUC&JMM JMM JUC&#xff08;java.util.concurrent&#xff09; 进程和线程 进程&#xff1a;后台运行的程序&#xff08;我们打开的一个软件&#xff0c;就是进程&#xff09;&#xff0c;资源分配单位线程&#xff1a;轻量级的进程&#xff0c;并且一个进程包含多个线程…

LeetCode 300. 最长递增子序列

&#x1f308;&#x1f308;&#x1f604;&#x1f604; 欢迎来到茶色岛独家岛屿&#xff0c;本期将为大家揭晓LeetCode 300. 最长递增子序列&#xff0c;做好准备了么&#xff0c;那么开始吧。 &#x1f332;&#x1f332;&#x1f434;&#x1f434; 一、题目名称 LeetCo…

已解决Python读取20GB超大文件内存溢出报错MemoryError

已解决Python读取20GB超大文件内存溢出报错MemoryError 文章目录报错问题报错翻译报错原因解决方法1解决方法2&#xff08;推荐使用&#xff09;帮忙解决报错问题 日常数据分析工作中&#xff0c;难免碰到数据量特别大的情况&#xff0c;动不动就2、3千万行&#xff0c;如果…