永发信息网

android中提供的哪些主要的布局管理器

答案:1  悬赏:50  手机版
解决时间 2021-03-08 05:25
android中提供的哪些主要的布局管理器
最佳答案
布局(Layout)的概念是针对Activity的,Activity就是布满整 个Android设备的窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,每个需要显示的Activity都需要在AndroidManifest.xml文件之中声明。

通常情况下,开发人员可以使用两种方式来创建UI组件,一种方式是使用XML方式来配置UI组件的相关属性,然后装载这些UI组件,这也是最常用的方式。但是有些特殊情况下,需要动态生成UI组件,则需要使用第二种方式,完全使用Java代码来创建UI组件。

XML布局文件是Android系统中定义的Layout的常用方式,所有布局文件必须包含在res/layout目录中,且必须符合Java的命名 规范。当在res/layout目录下新增了布局文件之后,R.java文件会自动收录该布局资源,Java代码可通过setContentView方法 在Activity中显示该Layout。

setContentView(R.layout.<资源名称>);

在布局文件中可以指定UI组件的android:id属性,该属性的属性值代表该组件的唯一标识。通过Activity.findViewById()访问,并且findViewById()必须在setContentView加载xml文件之后使用,否则会抛出异常。

findViewById(R.id.)

Android应用的绝大部分UI组件都放在android.widget包及其子包、android.view包及其子包中,Android应用的 所有UI组件都继承了View类。View类还有一个重要的子类:ViewGroup,ViewGroup类是所有布局管理器的父类。

ViewGroup容器控制其子组件的分布依赖于ViewGroup.LayoutParams、ViewGroup.MarginLayoutParams两个内部类。

ViewGroup.LayoutParams提供两个XML属性设定组件的大小。

android:layout_height:指定该子组件的基本高度;

android:layout_width:指定该子组件的基本宽度。

这两个属性有三个基本值,这两个属性有三个特定的值:

fill_parent:指定组件的高度、宽度与父容器组件的一样。

match_parent:与fill_parent一样,Android2.2开始推荐使用。

warp_content:内容包裹。

ViewGroup.MarginLayoutParams用于控制子组件周围的页边距。

android:layout_marginBottom(下边距);

android:layout_marginLeft(左边距);

android:layout_marginRight(右边距):

layout_marginTop(上边距)

对于View的尺寸,android提供了三种单位供选择使用:

px:像素。

dp:dpi,表示屏幕实际的像素。

sp:与scale无关的像素,与dp类似。

尺寸单位选择的技巧:如果设置长度、高度等属性时可以使用dp或sp,但是如果设置字体,需要使用px。如果使用dp或sp,系统会根据屏幕密度的变化进行转换。

为了适应各种界面风格,Android提供了五种布局规范,利用这五种布局,基本上可以在设备上随心所欲的摆放任何UI组件,这五种布局分别是:

FrameLayout(帧布局)。

LinearLayout(线性布局)

RelativeLayout(相对布局)。

TableLayout(表格布局)。

AbsoluteLayout(绝对布局)。

线性布局(LinearLayout)

LinearLayout是最常用的布局方式,在XML文件中使用标记。它会将容器里的UI组件一个一个挨着排列起来。但是LinearLayout不会换行,当UI组件超出屏幕之后,则不会被显示出来。LinearLayout有两个重要的XML属性:androidgravity(对齐方 式);android:orientation(排列方式)。

android:orientation(排列方式),设定了LinearLayout中包含的UI组件的排列方式,有两个选项vertical(竖向)、horizontal(横向,默认值)

android:gravity(对齐方式),设定LinearLayout中包含UI组件的对齐方式,其选项很多,常用上(top)、下(bottom)、左(left)、右(right)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
日本转运jpdeliver怎么样
前槐树沟这个地址在什么地方,我要处理点事
如图,⊙O的半径为5,P为圆内一点,P点到圆心
联通15元超Q开通代码?
如果你在男友面前一直骂他的前任,男友会怎样
级配碎石一方多少吨
【有梦不觉人生寒】有梦不觉人生寒出自哪里古
跑龙套在生活中是什么意思
请仿照下列句子,写出一个有意义的句子来。
开了销项负数,用红笔冲,请问摘要里面写什么
梦见别人家娶媳妇
南栀倾寒的繁体字
往车上插的mp3老是跳歌
如图,文字的发明是人类发展史上石破天惊的大
来顺客栈地址在哪,我要去那里办事
推荐资讯
申请工伤鉴定找律师好还是不找合适,以后申请
马庄鑫鑫粮油地址在哪,我要去那里办事
贝斯和吉他 哪个好学
海建劳务公司我想知道这个在什么地方
我们家现在有一只母狗狗了,刚刚一岁啦。一直
防火卷帘的控制器和手动按钮盒分别安装在防火
有没有新的大型网游,模式和天龙,诛仙类似的
作文<<我最敬佩的名人文天祥>>
日本留学之游戏开发专业
手机酷狗怎么发布歌单
南昌地铁2号线会经过联泰香域滨江吗
求西游记之大闹天宫百度云链接
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?