头条 科技 产经 家电 智能 手机 芯片 数码 电商 WAP版
中国IT产经新闻网-移动互联网与智能搜索领域是未来IT产业发展的趋势!
中国IT产经新闻/财经科技/正文
linearlayout.layoutparams封装了Layout的高宽等信息
来源:
2023-08-18
编辑:晓露

       1. LinearLayout有LayoutParams,ViewGroup没有?
       LinearLayout有自己的LayoutParams,并且继承 ViewGroup.MarginLayoutParams
       2. LinearLayout有weight,RelativeLayout没有?


       像权重 weight、gravity属性,都是 LinearLayout源码中单独定义的,RelativeLayout没有,就像 RelativeLayout有centerInParent、centerVertical等属性,是因为 RelativeLayout定义了,而LinearLayout没有定义。
       3. ListView可以设置头布局和脚布局,RecyclerView不行?
       因为ListView源码中定义了 HeaderViewListAdapter,所以可以设置,而RecyclerView中没有定义。
       LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是棋子的LayoutParams。
       但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值:
       1,一个确定的值;
       2,FILL_PARENT,即填满(和父容器一样大小);
       3,WRAP_CONTENT,即包裹住组件就好。

产业点评更多
厂商动态更多
热门综合更多
CopyRight @ 2008-2024 IT产经新闻网 All Right Reserved 违者必究 湘ICP备2022017330号-2