Android addView()方法简述(一)

Android addView()方法分为以下几个部分
addView()方法简述(一)
addView()方法实际使用和面试手册(二)

简介

大家都知道addView()一般用来动态添加View,LinearLayout、RelativeLayout添加子控件都可以用addView()。去看Android官方文档:ViewGroup里有addView的相关介绍。大概如下:

方法解释
addView (View child, ViewGroup.LayoutParams params)Adds a child view with the specified layout parameters.
-添加具有指定布局参数的子视图。默认往ViewGroup最后添加。
addView (View child, int index)Adds a child view. If no layout parameters are already set on the child, the default parameters for this ViewGroup are set on the child.
-添加子视图。如果没有在子视图上设置布局参数,则此ViewGroup的默认参数将在子视图上设置。看完这个就知道和上一个的区别了。添加到指定的位置。
addView (View child, int index,ViewGroup.LayoutParams params)Adds a child view with the specified layout parameters.
-添加具有指定布局参数的子视图。添加到指定的位置。
addView (View child)Adds a child view. If no layout parameters are already set on the child, the default parameters for this ViewGroup are set on the child.
-添加子视图。如果没有在子视图上设置布局参数,则此ViewGroup的默认参数将在子视图上设置。
addView (View child, int width, int height)Adds a child view with this ViewGroup’s default layout parameters and the specified width and height.
-使用此ViewGroup的默认布局参数和指定的宽度和高度添加子视图。

看完这个表格,其实对addView方法的不同参数已经有了大致的了解了。这里要说明的是ViewGroup才有addView方法,View是没有的。但是参数中的View可以是一个ViewGroup。

各个参数的具体说明

注意:不要从
View.draw(android.graphics.Canvas)、View.onDraw(android.graphics.Canvas)、dispatchDraw(android.graphics.Canvas)
或任何相关方法调用此方法。

1.addView (View child, ViewGroup.LayoutParams params)

这个方法是将第二个参数指定的布局给第一个参数传入的子视图中。

2.addView (View child, int index)

这个方法是将传入的子视图放在父布局的指定位置。
一个竖向的LinearLayout,如果你把index指定为-1则每次都会把子视图放在最后一个,也就是一个一个向下叠加,新加入的会放在最后;如果把Index指定为0,新加入的将会在头部把先加入的子视图挤下去,达到在顶部插入视图的效果。以此类推,别的数字和布局都差不多,大家多思考就能想出效果。

3.addView (View child, int index,ViewGroup.LayoutParams params)

这个就是前两个的一个结合,不多说了。

4.addView (View child)

需要注意的是,这个会吧父布局的布局信息添加给这个子视图。所以,如果你想这个子视图有自己的布局信息,就要先通过setLayoutParams设置好布局信息再addView。

5.addView (View child, int width, int height)

这个看上去就很容易,通过width和height来指定子视图的宽高。

总结

其实好多公司的APP都是没有Activity布局的,他们的布局其实就是一个空的LinearLayout指定id,然后通过findViewById找到这个根布局后添加头部等信息,这样就可以复用布局文件,写起来也容易。

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值