其实不管是什么布局,要想学好它,必须要知道它里面包含的方法,如果连里面的方法都不知道,不会用,怎么能够写出好的代码来呢?
布局的方法很简单,下面我主要写一下布局的属性方法和实例。
1.线性布局
线性布局由LinearLayout类来代表,它可以将容器里的组件一个一个的排列起来,但需要注意的是,当一行或一列排满后,线性布局不会自动换行,后面的东西讲不会显示出来。
xml属性:
android:gravity:设置布局管理器内组件的对齐方式。该属性支持top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical、clip_horizontal、start、end几个属性值。也可以同时指定多种对齐方式的组合,例如left|center_vertica代表出现在屏幕左边而且是垂直居中
android:orientation:设置布局管理器内组件的排列方式,可以设置为horizontal也可以设置为vertical两个值中的一个。
下面演示一种线性布局方式:
你能想象一下这是什么布局方式吗?
上面使用的是线性布局,通过使线性布局嵌套,组合出这种新的效果。
2.表格布局
xml属性:
andriod:collapseColumns:设置需要被隐藏的列的列序号
andriod:shrinkColumns:设置需要被收缩的列的列序号
andriod:stretchColumns:设置需要被拉伸的列的列序号
下面演示一种表格布局的例子:
xml布局代码如下:
上面的代码写的很复杂,就是因为没有使用xml的相关属性方法,那如果使用方法,效果会怎么样呢?在这里就不做演示了。代码非常简便。
3.相对布局
RelativeLayout的XML属性:
android:gravity:设置该布局容器内部各子组建的对齐方式
android:ignoreGravity:设置哪个组件不受gravity组件的影响
为了控制该布局容器内个组件的布局分析,RelativeLayout提供了一个内部类:RelativeLayout.LayoutParams,该类提供了大量的XML属性来控制Rel布局容器子组件的布局分布。
RelativeLayout.LayoutParams里只能设为true、false的XML属性(boolean)
下面的方法翻译是本人自己翻译的,翻译的不对的地方,请留言指出,本人感激不尽。
android:layout_above控制该子组件位于给出ID组件的上方
android:layout_alignBaseline 控制该子组件位于给出ID组件的基准线位置
android:layout_alignBottom 控制该子组件位于给出ID组件的下边界对齐
android:layout_alignLeft 控制该子组件位于给出ID组件的左边界对齐
android:layout_alignParentBottom如果是真的,控制给子组件与父组件的下边界对齐
android:layout_alignParentLeft如果是真的,控制给子组件与父组件的左边界对齐
android:layout_alignParentRight如果是真的,控制给子组件与父组件的右边界对齐
android:layout_alignParentTopt如果是真的,控制给子组件与父组件的上边界对齐
android:layout_alignRight 控制该子组件位于给出ID组件的右边界对齐
android:layout_alignTop 控制该子组件位于给出ID组件的上边界对齐
android:layout_alignWithParentIfMissing如果设置成true,则可以被用来当作找不到给出的其他组件可以对应的ID方法时的一个锚
android:layout_below 控制该子组件位于给出ID组件的下边界对齐
android:layout_centerHorizontal 如果真,使该组件在父组件中水平居中
android:layout_centerInParent 如果真,在其父组件中横向,纵向都居中
android:layout_centerVertical 如果真,使该子组件垂直居中于父组件
android:layout_toLeftOf 控制该子组件位于给出ID组件的左侧
android:layout_toRightOf 控制该子组件位于给出ID组件的右侧
下面演示一种相对布局的例子:
梅花效果:
我做的图片不好,所以出来不太好看,大家凑合着看吧,嘿嘿
xml源代码如下:
4.帧布局
帧布局由FrameLayout所代表,FrameLayout直接继承了ViewGroup组件。
帧布局容器为每个加入其中的组件创建一个空白的区域(成为一帧),所有每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐。
XML属性:
android:foreground 设置该帧布局容器的前景图像
android:foregroundGravity 定义绘制前景图像的gravity属性
下面演示一个帧布局的应用:
霓虹灯效果:
写这个代码我们要做的第一步就是:添加7个大小高度完全相同,宽度递减30的TextView,保证最先添加的TextView不会被完全遮挡。(layout中的xml)
另外我们再在values中添加一个colors.xml在其中添加7中变化的颜色(要与背景颜色中的颜色相对应,以保证效果不变
好了,基本的布局写完了,那么现在开始实现颜色渐变吧,开始写Java代码吧
哦了,完成,感觉怎么样呢?看着自己写出来的效果,感觉很不错哦~
分享到:
相关推荐
2.Android学习笔记--控件&布局 3.android学习笔记--activity生命周期&handler使用 4.android学习笔记--HandlerThread和Bundle 5.android学习笔记--SQLite 6.android学习笔记--下载文件 7.android学习笔记--Content ...
黑马66期android学习笔记14-电话拨号器定义布局&获取组件对象
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
这是我的安卓学习笔记。 开始时间:2016-9-11 计划:一个半月 文章目录: 基础知识 1、Android01--搭建Android开发环境 2、Android02--认识Activity 3、Android03--Context和Application 4、Android04--Android服务 ...
应用3、4 布局.Android开发教程+笔记7--基础UI编程1.Android开发教程+笔记8--基础UI编程2.Android开发教程+笔记9--基础UI编程3.Android开发教程+笔记10--基础UI编程4.Android开发教程+笔记11--可视化UI设计DroidDraw...
Android开发学习笔记五大布局方式详解,线性布局,相对布局,帧布局,绝对布局,表格布局。。。。 。。。。。
黑马66期android学习笔记19_线性布局的特性
包括环境搭建教程、创建模拟器、新建helloworld程序、电话拨号器、软件部署到模拟器、短信发送器、线性布局、相对布局、日志、activity、Android进程线程及优先级、Android UI线程阻塞及优化、广播接受者、Service...
NULL 博文链接:https://sarin.iteye.com/blog/1754910
Android学习笔记2-1~2-5 推荐新手向学习视频:B站https://www.bilibili.com/video/av38409964点我传送 2-1 布局管理器 线性布局(LinearLayout) 相对布局(RelativeLayout) 2-1-1 LinearLayout 常用属性 android...
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
LinearLayout(线性布局),RelativeLayout(相对布局),TableLayout(表格布局),FrameLayout(帧布局) 10:单元测试 得到单元测试框架: <manifest> <uses-library android:name="android.test.runner"/> ...
NULL 博文链接:https://sarin.iteye.com/blog/1757401
NULL 博文链接:https://sarin.iteye.com/blog/1756332
NULL 博文链接:https://sarin.iteye.com/blog/1694878
NULL 博文链接:https://sarin.iteye.com/blog/1756874
安卓逆向学习笔记之ART中的C++对象内存布局及获取art-method和dex-file对象.docx
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
NULL 博文链接:https://allenzxl.iteye.com/blog/2024351