博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android从零开始(三)
阅读量:5255 次
发布时间:2019-06-14

本文共 1750 字,大约阅读时间需要 5 分钟。

知识点:布局
1、 LinearLayout 线性布局(用的比较多,几乎所有的布局均可完成)
2、 FrameLayout 层布局(可以完成比较绚丽的效果)
3、 RelativeLayout 相对布局(很好用,但是要记忆属性较多)
4、 TableLayout 表格布局(很少用)
5、 AbsoluteLayout 绝对布局(不用,官方都不推荐,一些书籍都几乎不承认它的存在)
以下逐步讲解其属性:
1、android:layout_width
2、android:layout_height
基本上所有的View都有以上两个属性,然后99%的View都需要指定这两个属性,如果没有指定,会导致运行时发生异常。
可以指定三个值:
1、fill_parent 表示填充整个父容器
2、wrap_content 表示大小和内容大小一致
3、直接指定大小 但是这种方式需要指定大小的单位(在Android中单位有以下几种:px,sp,dip,dp,px是传统意义上的像素单位,sp是scale-independent pixel(与比例无关的像素,通常用于指定字体,dp是density-independent pixel(与密度无关的像素,dip是dp的另一种写法,关于密度:密度是指1个像素单位内的dpi值,通常1dp=160dpi,在Android中我们基本上只使用两种单位:大小用dp或dip,随意字体用sp)
android:orientation
是LinearLayout独有的属性,用于确定摆放的方向是横着还是竖着,默认为horizontal,可以指定为vertical。
ScrollView
带滚动条的View,如果包含的内容超出其范围,自动显示滚动条并提供滚动效果
HorizontalScrollView也是滚动条View,差别在于前者是上下,这个是左右,根据自己需要使用
无论是哪一个,都只允许存在一个子控件,当然子控件下面有多少个,那就管不着了。
layout_weight
重力,是LinearLayout布局中控件能使用的独有属性,它的作用是让控件占用剩余空间,被设置重力的控件会最后才进行摆放,值决定占用剩余空间的比例大小
假如有3个控件,A指定为1,B也指定为1,C也指定为1
那么A占用的大小是: 1/(1+1+1)*100 33%
那么B占用的大小是: 1/(1+1+1)*100 33%
假设现在分别指定为1,2,3
那么A占用的大小是: 1/(1+2+3)*100 16%
B占用的大小是: 2/(1+2+3)*100 33%
C占用的大小是: 3/(1+2+3)*100 50%
必须注意,如果使用layout_weight,那么强烈建议layout_width设置为0dp
layout_gravity和gravity,设置引力(所谓的引力就是对齐方向)前者是相对父容器,后者是内容
layout_margin和padding:设置距离,前者是控件距离其他控件或父容器边框多远,后者是控件内容距离自身边框多远
layout_alignParentXxxx这组属性是表示控件相对父容器的位置,值是boolean值
除此之外,还有:
layout_centerInParent
layout_centerVertical
layout_centerHorizontal
layout_below
layout_toRightOf
layout_toLeftOf
layout_above
这组属性是指定控件相对指定控件的哪边,值是控件id
layout_alignBaseline
layout_alignTop
layout_alignRight
layout_alignLeft
layout_alignBottom
这组属性是指定控件边框对齐指定的控件边框,值是控件id
@是引用符
@id/xxx表示引用id为xxx的资源
而如果是@+id/xxx,则表示如果id为xxx的资源存在,那么引用,如果不存在那么创建 

转载于:https://www.cnblogs.com/shhaoran/archive/2013/02/07/2924497.html

你可能感兴趣的文章
centos下同时启动多个tomcat
查看>>
slab分配器
查看>>
数据清洗
查看>>
【读书笔记】C#高级编程 第三章 对象和类型
查看>>
针对sl的ICSharpCode.SharpZipLib,只保留zip,gzip的流压缩、解压缩功能
查看>>
【转】代码中特殊的注释技术——TODO、FIXME和XXX的用处
查看>>
【SVM】libsvm-python
查看>>
Jmeter接口压力测试,Java.net.BindException: Address already in use: connect
查看>>
Leetcode Balanced Binary Tree
查看>>
Leetcode 92. Reverse Linked List II
查看>>
九.python面向对象(双下方法内置方法)
查看>>
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>