android中linearlayout,android relativelayout布局,Android常用布局(FrameLayout、LinearLayout、RelativeLayout)详解

android中linearlayout,android relativelayout布局,Android常用布局(FrameLayout、LinearLayout、RelativeLayout)详解

本文主要介绍Android的常用布局,如FrameLayout、LinearLayout和RelativeLayout。感兴趣的朋友可以参考一下。

很多开发者一听说安卓终端的屏幕尺寸和屏幕分辨率各种各样,就觉得安卓开发在屏幕适配方面一定很头疼。因为在Android出现之前,开发者所知道的UI解决方案大致分为两类:

1.Web开发中的CSS,一层一层。

2.计算iOS开发中每个UIView的大小。

以上两种方案,无论哪种方案面对严重碎片化的安卓终端,都是一场噩梦。幸运的是,Android提供了另一种应对严重终端碎片化的解决方案,那就是布局和9补丁。

这里我想说一下布局。Android SDK刚出来的时候,Android提供了AbsoluteLayout、FrameLayout、LinearLayout、RelativeLayout、Tablelayout五种布局来应对终端碎片化的问题。

然而Android很快发现AbsoluteLayout是一个愚蠢的方案,在Android 1.5系统中已经不再支持。在剩下的四种布局中,仍然支持Tablelayout,但是由于Fragment和新的TabLayout的出现,博主断言Tablelayout很快就会消亡,被移除只是时间问题。

所以安卓的五种基本布局只有三种(这里是基本布局,安卓支持包里介绍的新布局不算)。这里有三种基本布局。

一.框架布局

FrameLayout应该是Android系统中最简单的布局了。默认情况下,FrameLayout中的所有元素都基于FrameLayout控件的顶点,逐层重叠,添加的元素覆盖前面的元素。

先来个演示吧。代码如下:

框架布局

xmlns:Android=' http://schemas . Android . com/apk/RES/Android '

Android:layout _ width=' match _ parent '

Android:layout _ height=' match _ parent '

视角

android:layout_width='200dp '

android:layout_height='200dp '

android:background='#ff0000'/

视角

android:layout_width='200dp '

android:layout_height='200dp '

android:background='#000000'/

视角

android:layout_width='200dp '

android:layout_height='200dp '

android:layout_margin='100dp '

android:background='#00ff00'/

/框架布局

运行结果如下:

在代码中,有三个视图,但在运行结果中只能看到两个视图,一黑一绿。这是因为红色视图被黑色视图覆盖。

在FrameLayout中,通过android:layout_gravity属性指定子元素的位置。下面,调整上诉示例中黑色视图的位置,以便显示红色视图。调整后的代码如下:

视角

android:layout_width='200dp '

android:layout_height='200dp '

Android:layout _ gravity=' bottom | right '

android:background='#000000'/

可以看到上面的代码中添加了android:layout_gravity属性,并且指定了两个值,一个是bottom,一个是right,也就是说这个视图会放在FrameLayout的右下角。操作结果如下图所示:

第二,线性布局

LinearLayout是线性布局,允许其内部元素按指定方向排列。LinearLayout的方向由android:orientation属性指定,它的方向可以由android:gravity属性指定。

或者只看前面代码中的效果。代码如下:

线性布局

xmlns:Android=' http://schemas . Android . com/apk/RES/Android '

Android:layout _ width=' match _ parent '

Android:layout _ height=' match _ parent '

安卓:方向='垂直'

安卓:重力='中心'

视角

android:layout_width='100dp '

android:layout_height='100dp '

android:background='#ff0000'/

视角

android:layout_width='100dp '

android:layout_height='100dp '

android:background='#000000'/

视角

android:layout_width='100dp '

android:layout_height='100dp '

android:background='#00ff00'/

/线性布局

在代码中,LinearLayout的方向设置为垂直,其方式为居中对齐,所以运行结果如下图所示:

除了android:orientation被设置为垂直,它也可以被设置为水平。让LinearLayout里面的元素水平排列,将上面例子中的android:orientation属性的值改为horizontal,如下图所示:

三。相对布局

RelativeLayout是基本布局中最灵活、最复杂的布局。它的内部元素可以通过设置它们之间的相对关系来决定布局。使用RelativeLayout时,建议为每个内部元素设置一个id。这里,我们仍然会通过一个例子来演示这种布局的使用。代码如下:

相对布局

xmlns:Android=' http://schemas . Android . com/apk/RES/Android '

Android:layout _ width=' match _ parent '

Android:layout _ height=' match _ parent '

查看android:id='@ id/red '

android:layout_width='100dp '

android:layout_height='100dp '

android:background='#ff0000'/

查看android:id='@ id/black '

android:layout_width='100dp '

android:layout_height='100dp '

Android:layout _ toRightOf=' @ id/red '

android:layout_below='@id/red '

android:background='#000000'/

查看android:id='@ id/green '

android:layout_width='100dp '

android:layout_height='100dp '

Android:layout _ below=' @ id/black '

Android:layout _ alignParentRight=' true '

android:background='#00ff00'/

查看android:id='@ id/gray '

android:layout_width='100dp '

android:layout_height='100dp '

Android:layout _ centerInParent=' true '

android:background='#888888'/

查看android:id='@ id/orange '

android:layout_width='100dp '

android:layout_height='100dp '

Android:layout _ toRightOf=' @ id/green '

android:layout_below='@id/gray '

android:background='#ff8800'/

/RelativeLayout

先分析代码,可以看到每个视图都设置了一个id值,即红、黑、绿、灰、橙。然后通过代码可以看到,黑色位于右边,红色之下,绿色位于黑色之下,并与其父元素(即RelativeLayout)向右对齐,灰色与父元素(即RelativeLayout)向中心对齐,橙色位于绿色的右边,灰色之下,运行结果如图所示:

总结相对布局,这与布局相关的属性相关:

Android:layout_below:位于指定元素的下方。

Android:layout_above:位于指定元素的上方

Android:layout_toLeftOf:位于指定元素的左侧。

Android:layout_toRightOf:位于指定元素的右侧。

Android:layout_centerVertical:垂直居中对齐父元素。

Android:layout _ center horizontal:水平居中对齐父元素。

Android: layout _ centerparent:将父元素居中对齐。

Android:Layout _ AlignParentRight:向右对齐父元素。

Android:layout_alignParentLeft:向父元素的左侧对齐

Android:layout_alignParentTop:与父元素对齐。

Android:layout _ alignparentBottom:与父元素对齐。

Android:layout_alignRight:向指定元素的右边对齐。

Android:layout_alignLeft:向指定元素的左侧对齐。

Android:layout_alignTop:与指定元素对齐。

Android:layout_alignBottom:与指定元素对齐。

从Android 4.2开始,也就是从API级开始,Android增强了RelativeLayout,使其能够更好地应对和本地化这种需求。例如,在一些国家,文本是从右向左读的,这也被称为RTL。为了响应RTL,RelativeLayout添加了以下属性:

android:layout_alignStart:与指定元素的起始位置对齐。

android:layout_toStartOf:位于指定元素的开头。

android:layout_alignParentStart:与父元素和起始边对齐

android:layout_alignEnd:与指定元素的结束和开始位置对齐。

android:layout_toEndOf:位于指定元素的末端。

android:layout_alignParentEnd:与指定元素的结束位置对齐。

这里的开始和结束可以理解为:

开始:在有从左向右阅读习惯的国家,开始边等于左边,toStartOf的显示效果等于toLeftOf。而在习惯从右向左阅读的国家,起始边变成了右边,toStartOf的显示效果等于toRightOf。

End:和前面对开头的理解一样,在有从左向右阅读习惯的国家,end边是右边,反之亦然。

原文链接:http://lyjbk.com/archives/158.html

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android传感器高级编程,Android传感器,Android编程之光线传感器用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • 留言与评论(共有 条评论)
       
    验证码: