Android layout、onLayout 一些简要说明

View中:

public void layout(int l,int t,
int r,int b) {

...

onLayout

...

}

//changed 表示是否有新的位置或尺寸

protected void onLayout(boolean changed,int left,
int top,int right,
int bottom) {

//空实现

}

ViewGroup中:

public final
void layout(int l,int t,
int r,int b) {

...

super.layout(l, t, r, b);

...

}

//changed 表示是否有新的位置或尺寸

protected abstractvoid onLayout(boolean changed, int l,int
t, int r,int b);

说明:

1. 自定义一个view时,建议重写onLayout,以设定它的位置。

在外部调用时,调用layout(),触发设定位置。

2. 自定义一个viewGroup时,必须且只能重写onLayout。

需要在设定子view的位置:调用subview.layout(); 触发

时间: 2024-10-28 19:56:54

Android layout、onLayout 一些简要说明的相关文章

Android -- Layout布局文件里的android:layout_height等属性为什么会不起作用?

有的时候,我们配置好的布局文件,在加载完成添加到我们的Activity中后发现,并没有安装我们设置的属性来布局,比如我们设置了android:layout_marginTop="100dip",但是运行程序后发现一点作用都没有,相似的还有layout_height等以android:layout_开头的属性设置都没有作用,这类问题以我们使用Adapter的作为数据源的时候作用居多,因为Adapter里有一个方法是getView,这个返回的VIew是一个从XML布局里加载的,一般如下:

【Android】Android Layout Binder——根据layout布局文件自动生成findViewById的java代码的神器

Android Layout Binder是一个网站,能够在线的根据layout布局文件自动生成findViewById的java代码. 网址是http://android.lineten.net/layout.php 如图:

【ALearning】第四章 Android Layout组件布局(二)

前面我们分别介绍和学习了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoluteLayout(绝对布局).这次我们要进行RelativeLayout(相对布局)和TableLayout(表格布局)的学习.这部分是很重要的知识点.RelativeLayout是开发过程中强烈建议使用的,而TableLayout是满足一些特定需求时(常见表格显示,但不局限于此)需要使用. [博客专栏:http://blog.csdn.net/column/details/alearn

android layout布局属性

参考:http://blog.csdn.net/msmile_my/article/details/9018775 第一类:属性值 true或者 false           android:layout_centerHrizontal 水平居中     android:layout_centerVertical 垂直居中     android:layout_centerInparent 相对于父元素完全居中     android:layout_alignParentBottom 贴紧父元

android layout 属性大全

第一类:属性值为true可false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父

Android layout文件中 '?' 的作用

在Android layout文件中,属性引用资源一般使用@,例如 android:textColor="@color/white" 但在一些系统文件中我们也可以看到有这样的写法 android:textColor="?android:color/textColor" 我们知道@是引用已经定义好的资源,如@color/white.@android:color/white,那 '?' 呢?下面是文档中的解释 Referencing style attributes A

Android - Layout时发生'Unfortunately xxx has stopped'

概述 我在进行LinearLayout和TableLayout的嵌套布局的时候,发生题的错误.如下布局xml代码: 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 android:layout_width="fill_parent" 3 android:layout_height="fill_parent" 4 android:orie

Android - Layout clipChildren属性

Android - Layout clipChildren属性 本文地址: http://blog.csdn.net/caroline_wendy android:clipChildren: Defines whether a child is limited to draw inside of its bounds or not. 子控件是否它的范围之内,默认是true,如果设为false,则子控件可以溢出,需要设置padding为负值. clip修剪,clip children就是"修剪子控

给android layout 添上state的翅膀

在android中,可以很容易给一个视图的外观加上state,从而反映行为状态比如:激活.选中.悬浮等.但是对于视图布局的动态调整,比如说某一状态,需要显示按钮,下一个状态,不需要显示这个按钮,就显得苍白无力. 这种情况,大家会说我去改一下按钮的可见度就ok了呀.的确是这样,但是涉及到多个状态.多个控件的时候是不是很麻烦?现有解决办法主要问题有: (1)      多状态.多组件的难于管理. (2)      没用的组件只是看不见了,但是还存在,浪费资源. 有没有更好的方法?有,那就是引入sta

Android电源管理-休眠简要分析

工作需要,需要对这一块深入学习.故在此做一点分析记录,存疑解惑. 一.开篇 1.Linux 描述的电源状态 - On(on)                                                 S0 -  Working - Standby (standby)                              S1 -  CPU and RAM are powered but not executed - Suspend to RAM(mem)