`
javababy1
  • 浏览: 1171248 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

个人安卓学习笔记---Android布局大总结(一)

 
阅读更多

其实不管是什么布局,要想学好它,必须要知道它里面包含的方法,如果连里面的方法都不知道,不会用,怎么能够写出好的代码来呢?

布局的方法很简单,下面我主要写一下布局的属性方法和实例。

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代码吧


哦了,完成,感觉怎么样呢?看着自己写出来的效果,感觉很不错哦~


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics