android所有布局
来源:互联网 发布:运营的数据分析水平 编辑:程序博客网 时间:2024/05/22 05:01
Android布局
<1>、什么是布局?
布局就是把界面的控件按照某种规律摆放在指定的位置,主要是为了解决应用程序在不同手机中的显示问题。
<2>、Android实现布局有两种方式
(1)代码:布局文件对应的Java类都是ViewGroup类的子 类
(2)Xml配置文件:所有的布局文件都是放在res/layout文件夹中(布局支持嵌套)
<3>、布局的一些基本属性
android:layout_width
1.设置控件所占的宽度
2.取值范围:wrap_content
File_parent
Match_parent
固定值:dp
android:layout_height
1.设置控件所占的高度
2.取值范围同上
android:layout_gravity
1.当前控件在父视图中的位置
2.取值范围:top|bottom|left|right
center_vertical(水平居中)|center_horizontal(垂直居中)|center(居中)
fill_vertical(若有可能,纵向拉伸以填满容器)
fil_horizontal(若有可能,横向拉伸以填满容器)
fil(若有可能,纵向横向同时拉伸填满容器)
adroid:layout_marginTop
1.当前视图上边缘到某条基线的距离
2.只能去固定值
adroid:layout_marginButtom
1.当前视图下边缘到某条基线的距离
2.只能去固定值
<4>、Android的5大布局
(1)LinearLayout(线性布局)
1.线性布局会将其中的控件一个接着一个排列,可以横排也可以竖排
2.常用属性:
设置排序方向 xml属性:android:orientation(horizontal水平排列)(version垂直排列)
方法:setGravity(int)
3、android:layout_gravity和android:gravity的区别?
android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。
android:layout_gravity:这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。
(2)TableLayout(表格布局)
1.表格布局可将试图按行、列进行排列
2.直接向TableLayout中添加控件,则这个控件将占一行
3.一个表格布局有一个<TableLayout>标签和若干<TableRow>标签组成
4.常用属性:
某列被收缩,以保证表格能完全填充父容器的宽度android:shrinkColumns、setColumnStretchable(int,boolean)
某列被拉伸,以保证表格能完全填充父容器的宽度
Android:stretchColumns、setColumnStretchable(int,boolean)
某列被隐藏, android:collapseColumns、setColumnCollapsed(int,boolean)
表格跨行:android:layout_span=”3”
(3)FrameLayout(桢布局)
1.类似于PS中图层概念
2.为每个加入其中的组件创建单独的桢
3.看上去像是组件叠加到一起
(4) RelativeLayout(相对布局)
1.控件的位置总是相对父容器或者兄弟控件
2.如果A控件的位置是相对B控件的,那B控件要先定义
3.每个控件使用LayoutParams规定的参数来定义相对位置
4.LayoutParams的参数一类的值为true和false,另一类是其他控件的ID
5.常用属性:
(1)Android:id
@+id/name
@id/name
@表示引用R.java文件中的id类中名字为name的属性
两者的区别
1.@+id/表示如果R.java文件中的id类中名字为name的属性
2.@id/表示引用R.java文件中的id类中的名字为name的属性
(2)boolean型
Xml属性:
android:layout_alignParnentButton 如果该值为true,则将该控件的底部和父控件的底部对齐(底部和底部对齐)
android:layout_alignParnentLeft 如果该值为true,则将该控件的左边于父控件的左边对齐(左边和左边对齐)
android:layout_alignParnentTop 如果该值为true,则将该控件的顶部与父控件的顶部对齐(顶部与顶部对齐)
android:layout_alignParnentRight 如果该值为true,则将该控件的右边与父控件的右边对齐(右边与右边对齐)
android:layout_centerInParent 如果只为true,该控件将被至于父控件水平方向和垂直方向的中央
android:layout_centerInHorizontal 如果为true,该控件将至于水平方向的中央
android:layout_centerVertical 如果为true,该控件将被至于垂直方向的中央
(3)xml属性
Android:layout_above 将该控件的底部至于给定id的控件之上
Android:layout_below 将该控件的底部至于给定id的控件之下
Android:layout_toLeftOf 将该控件的右边缘和给定id的控件的左边缘对齐
Android:layout_toRightOf 将该控件的左边缘和给定id的控件的右边缘对齐
Android:layout_alignBottom 将该控件的底部边缘和给定id的控件的底部边缘对齐
Android:layout_alignBaseline 将该控件的baseline和给定id的控件的baseline对齐
Android:layout_alignLeft 将该控件的左边缘和给定id的控件的左边缘对齐
Android:layout_alignRight 将该控件的右边缘和给定id的控件的右边缘对齐
Android:layout_alignTop 将该控件的顶部边缘和给定id的控件的顶部对齐
<5>、Android 4.0新布局
GridLayout:
(1)GridLayout布局使用虚细线将布局划分为行、列和单元格,页支持一个控件在行、列上都与交错排列
(2)与html中的table非常类似
(3)4.0以上的版本可以直接使用
(4)2.x的版本需要添加一个支持包
常用属性:
1.指定行数:
xml属性:rowCount
方法:layout.setRowCount(int row)
2.指定列数
xml属性:columnCount
方法:layout.setRCoulmnCount(int column)
3.设置控件跨行
xml属性:android:layout_row
android:layout_gravity
代码:设置控件的跨行列需要使用GridLayout.Spec
GridLayout.Spec rowSpec=GridLayout.spec(4);设置控件在第几行
GridLayout.Spec rowSpec=GridLayout.spec(1,4);设置控件在第几行,并跨几行
4.设置控件跨列
Xml属性:
Android:laout_columnSpan
代码:
GridLayout.Spec columnSpec=GridLayout.spec(4);设置控件在第几行
GridLayout.Spec columnSpec=GridLayout.spec(1,4);设置控件在第几列,并跨几列
RTL(从左往右)
Android4.2之后才使用,一般在用在阿拉伯语等环境中,中国用户很少使用
androidManifest.xml中把application标签的android:supportsRtl属性值 设置为true
相对应的视图标签把android:layoutDirection属性值设置为rtl
<6>.布局重用
可以在布局文件中使用<include>标签重用布局
语法<include android:id=@+id/cell1 layout=”@layout/frame_layout” />
连接夜神:创建一个.bat文件
c:
cd:C:\Program Files (x86)\Nox\bin
nox_abc connect 127.0.0.1:62001
第一步:进入manifests这个文件夹,里面有个AndroidManifest.xml文件,这个文件相当于web.xml
第二步:<activity android:name=".MainActivity">点击.MainActivity进入第二个文件夹
MainActivity
第三步:setContentView(R.layout.activity_main);里面的R代表res
LinearLayout layout=new LinearLayout(this);//ctrl+p查看放什么参数
no usb devices or running emulators detected
没有检测到USB设备或运行的模拟器
解决方案:重启android studio
- android所有布局
- android所有布局
- android 所有布局属性和UI控件
- android 所有布局属性和UI控件
- android 所有布局属性和UI控件
- Android布局:简单是所有布局开始最重要的原则
- Android - 自动禁用布局里的所有子控件
- Android - 自动禁用布局里的所有子控件
- Android layout布局中所有控件的属性
- 绝对布局所有概念
- 遍历所有布局中的所有对象
- android gridview布局,实现长按某一个,所有项都显示删除的图标
- android gridview布局,实现长按某一个,所有项都显示删除的图标
- Android 布局:相对布局
- android 布局
- Android布局
- android布局
- Android 布局
- js获取用户来路url及跳转链接
- servlet 重定向和转发的区别
- nginx+tomcat+memcached构建session共享集群
- 美丽心灵:纪念 John Nash 夫妇
- 图的学习
- android所有布局
- linux centos 安装 jdk1.7
- 语义分割中的训练策略和参数设置
- 算法导论 思考题 15-11(库存规划)
- 解决把网页细分成很多模块个去做!
- 【Python】1“Hello,Python!”
- HBuilder开发APP(二)——网络请求
- 亲测可用:SecureCRT 7 注册码/序列号
- Zurmo(十五)之图标三