LayoutParams 简单理解[通俗易懂]

LayoutParams 简单理解[通俗易懂]简单说说自己对androidLayoutParams的理解吧。 publicstaticclass ViewGroup.LayoutParams extendsObject java.lang.Object   ↳android.view.ViewGroup.LayoutParams  //继承关系 以下说明摘自官方文档E文好的可以看看 Cla

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
简单说说 自己对 android LayoutParams的理解吧。 


public static class 


ViewGroup.LayoutParams 


extends Object 




java.lang.Object 


   ↳ android.view.ViewGroup.LayoutParams   //继承关系 




以下说明摘自官方文档E文好的可以看看 


Class Overview 




LayoutParams are used by views to tell their parents how they want to be laid out. See ViewGroup Layout Attributes for a list of all child view attributes that this class supports. 




The base LayoutParams class just describes how big the view wants to be for both width and height. For each dimension, it can specify one of: 




FILL_PARENT (renamed MATCH_PARENT in API Level 8 and higher), which means that the view wants to be as big as its parent (minus padding) 


WRAP_CONTENT, which means that the view wants to be just big enough to enclose its content (plus padding) 


an exact number 


There are subclasses of LayoutParams for different subclasses of ViewGroup. For example, AbsoluteLayout has its own subclass of LayoutParams which adds an X and Y value. 




E文不好看不懂  但是觉得写得啰嗦了 


其实这个LayoutParams类是用于child view(子视图) 向 parent view(父视图)传达自己的意愿的一个东西(孩子想变成什么样向其父亲说明)其实子视图父视图可以简单理解成 


一个LinearLayout 和 这个LinearLayout里边一个 TextView 的关系 TextView 就算LinearLayout的子视图 child view 。需要注意的是LayoutParams只是ViewGroup的一个内部类 这里边这个也就是ViewGroup里边这个LayoutParams类是 base class 基类 实际上每个不同的ViewGroup都有自己的LayoutParams子类 


比如LinearLayout 也有自己的 LayoutParams 大家打开源码看几眼就知道了 


myeclipse 怎么查看源码 请看
http://byandby.iteye.com/blog/814277
 


下边来个例子 

Java代码  
收藏代码

  1.       //创建一个线性布局  
  2.        private LinearLayout mLayout;     
  3.        mLayout = (LinearLayout) findViewById(R.id.layout);     
  4.       //现在我要往mLayout里边添加一个TextView   
  5.      //你可能会想直接在布局文件里边配置不就O 了 那是 但是这里为了说明问题我们用代码实现  
  6.       TextView textView = new TextView(Activity01.this);     
  7.            textView.setText(“Text View “ );  
  8.            //这里请不要困惑这里是设置 这个textView的布局 FILL_PARENT WRAP_CONTENT 和在xml文件里边设置是一样的如  
  9.   /**<TextView 
  10.            android:layout_width=”fill_parent” 
  11.            android:layout_height=”wrap_content” 
  12.            android:text=”Text View”/>*/  
  13. //在xml里边怎么配置高宽大家都会的。  
  14.   //第一个参数为宽的设置,第二个参数为高的设置。  
  15.            LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(     
  16.                    LinearLayout.LayoutParams.FILL_PARENT,     
  17.                    LinearLayout.LayoutParams.WRAP_CONTENT     
  18.            );     
  19.            //调用addView()方法增加一个TextView到线性布局中  
  20.            mLayout.addView(textView, p);     
  21.           //比较简单的一个例子  



如果还不能理解下边在来一段直白的说明: 


LayoutParams继承于Android.View.ViewGroup.LayoutParams. 


LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去。 


可以这样去形容LayoutParams,在象棋的棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置的信息,如这个棋子在4行4列,这里的“4行4列”就是棋子的LayoutParams。 


但LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值: 


1,一个确定的值; 


2,FILL_PARENT,即填满(和父容器一样大小); 


3,WRAP_CONTENT,即包裹住组件就好。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191095.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • SpringBoot的认识,SpringBoot与Spring关系[通俗易懂]

    SpringBoot的认识,SpringBoot与Spring关系[通俗易懂]一、概念1、SpringSpring是一个开源容器框架,可以接管web层,业务层,dao层,持久层的组件,并且可以配置各种bean,和维护bean与bean之间的关系。其核心就是控制反转(IOC),和面向切面(AOP),简单的说就是一个分层的轻量级开源框架。2、SpringMVCSpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。SpringMVC是一种web层mvc框架,用于替代servlet(处理|响应请求,获取表单参数,表单校验等。S

  • Android安卓证书生成和签名查看

    Android安卓证书生成和签名查看概述Android使用证书作为标识应用程序作者的一种方式,使用签名来区分不同的APP签名分为调试模式下的证书和公布模式下的证书调试模式下的证书只能用作真机调试,不安全公布模式下的证书才能发布到应用商店供其他使用者下载这里生成的是调试模式下的证书步骤1.证书生成需要JDK,未安装要自行安装2.打开命令行(cmd),开始按钮右键–运行3.进入JDK下的bin…

  • matlab求解延迟微分方程_状态依赖时滞微分方程的动力学研究

    matlab求解延迟微分方程_状态依赖时滞微分方程的动力学研究固定时滞的微分方程:满足下面的形式,也就是微分方程右边包含时滞部分,且时滞为常数。使用dde23函数求解:问题:       (1)微分方程定义:多了一个时滞部分创建myddefun.m文件,文件里的内容如下:functiondy=myddefun(t,y,Z)dy=[Z(1,1);Z(1,1)+Z(2,2);

  • idea2021.4的激活码_通用破解码

    idea2021.4的激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • sql中使用什么语句创建索引_索引的创建方式有

    sql中使用什么语句创建索引_索引的创建方式有创建索引的sql语句是【CREATEINDEXindexNameONtable_name(column_name)】,这是最基本的索引,它没有任何限制。本文操作环境:windows10系统、mysql5.7、thinkpadt480电脑。创建索引的sql语句如下所示:下面是最基本的创建索引的语法,它没有任何限制。CREATEINDEXindexNameONtable_name(column_name)如果是CHAR,VARCHAR类型,length可以小.

  • python超链接格式_Openpyxl中的超链接样式「建议收藏」

    python超链接格式_Openpyxl中的超链接样式「建议收藏」4个答案:答案0:(得分:1)importopenpyxlfromopenpyxl.stylesimportFont,Color,colors#…#alternative1:sethyperlinkpropertytocelldeflink_1(cell,link,display=None):cell.hyperlink=linkcell.font=…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号