您的位置:首页 > 职场人生

《Android面试宝典》学习笔记(第二章:布局)

2015-02-09 23:30 211 查看
如何让三个按钮以水平方向分别左对齐、居中对齐和右对齐?

android:layout_gravity="left"
android:layout_gravity="center_horizonal"
android:layout_gravity="right"

如何获得组件的宽度和高度?
先调用view.measure方法测量组件的宽度和高度,再调用view.getMeasuredWidth和view.getMeasuredHeight(Layout也是view的子类)

如何让五个按钮呈梅花状排列?

http://blog.csdn.net/cjllife/article/details/8150604

如何确定view的位置坐标?
int[] location = new int[2] ;
view.getLocationInWindow(location); //获取在当前窗口内的绝对坐标
view.getLocationOnScreen(location);//获取在整个屏幕内的绝对坐标
location [0]--->x坐标,location [1]--->y坐标

如何用Java代码控制控件属性?
先创建一个LayoutParams对象,再用LayoutParams.addRules设置属性,最后调用View.setParams方法。

TableLayout的用法?
表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。TableRow可以添加子控件,每添加一个为一列。

如何将view截图?
view.setDrawingCacheEnabled()
view.getDrawingCache()

如何将窗口的背景色设为渐变色?
getWindow().setBackgroundDrawable(gradientDrawable);

layout_weight属性是什么意思?
http://mobile.51cto.com/abased-375428.htm
padding和layout_margin属性的作用?

padding:设置view中的内容在上下左右四个方向距边缘的距离。
layout_margin:设置view的边缘距其他view或父容器的距离。

尺寸的计量单位?
px、in、mm、pt(一个点,1/72英寸)、dp、sp
整个屏幕的宽为160dp
sp适合用于设置文字大小

layout_gravity和gravity的区别?

layout_gravity指定当前view在父容器中的位置,gravity指定view中内容的位置。

如何重用布局文件?
使用<include>标签。

布局优化:

尽量多使用RelativeLayout,不要使用绝对布局AbsoluteLayout;

将可复用的组件抽取出来并通过< include />标签使用;

使用< ViewStub />标签来加载一些不常用的布局;

使用< merge />标签减少布局的嵌套层次;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  布局 Android