TextView等组件的LayoutParams不能随便用,不然组件不显示

TableLayout.LayoutParams lpRow = new TableLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
lpRow.setMargins(1, 0, 1, 1);

LinearLayout.LayoutParams lpText = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT);
lpText.setMargins(1, 0, 0, 0);

TableRow tableRow = new TableRow(layVeri.getContext());
tableRow.setLayoutParams(lpRow);

TextView tvCode = new TextView(tableRow.getContext());
tvCode.setText("付月刚1号田地");
tvCode.setTextSize(20);
tvCode.setGravity(Gravity.CENTER_VERTICAL);
tvCode.setPadding(5, 8, 5, 8);
tvCode.setSingleLine(true);
tvCode.setEllipsize(TruncateAt.END);
tvCode.setBackgroundColor(getResources().getColor(R.color.backColor));
tvCode.setLayoutParams(lpText);

上面的代码,tvCode没有显示出来,原因是tvCode.setLayoutParams(lpText)这句,

lpText设置了LinearLayout.LayoutParams 参数,应该是只设置其直接父容器(TableRow)的LayoutParams,

设置成:TableRow.LayoutParams lpText = new TableRow.LayoutParams(  就可以了。

由些可以结论,设置组个把的LayoutParams,必须是父容器的LayoutParams.

时间: 2024-10-04 07:08:05

TextView等组件的LayoutParams不能随便用,不然组件不显示的相关文章

TableLayout 里的TextView等组的LayoutParams参数问题

TableLayout 里的TextView等组的LayoutParams参数不能是LinearLayout.LayoutParams这样来定义, 只能是用TableRow.LayoutParams 代码如下: TableLayout.LayoutParams lpRow = new TableLayout.LayoutParams( TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT); lpR

自定义Android组件之组合方式创建密码框组件

Android中所有控件(也称组件)都继承自adnroid.view.View类,android.view.ViewGroup是View类的重要子类,绝大多书的布局类就继承自ViewGroup类. 附上一张基于Android Api21的View和Widget类图 自定义Android组件基本可以从2个入口着手,一是继承Viewe类拿起画笔和画布绘制组件,而是通过继承View的子类和组合已有的组件的方式构造自定义的组件. 本文通过自定义一个PassWordView组件来实现密码能够通过点击点选框

vue 简单实现父组件向子组件传值,简单来说就是子组件肆意妄为的调用父组件里后台返回的值

首先在于父子组件传值的方法很多,本人在这里只是简单描述一下一个组件里面引用了子组件,那么子组件如何才能获取父组件中后台返回的值呢? 首先调用组件相信大家都应该明白了(不明白的自己撸撸文档), <info-head :orderInfo="orderInfo" :changePrice="changePrice"></info-head> 上面的是父组件中引用的子组件,其中orderInfo为父组件中定义的接收后台返回的值需要向平常一样的去定义

App 组件化/模块化之路——Android 框架组件(Android Architecture Components)使用指南

面对越来越复杂的 App 需求,Google 官方发布了Android 框架组件库(Android Architecture Components ).为开发者更好的开发 App 提供了非常好的样本.这个框架里的组件是配合 Android 组件生命周期的,所以它能够很好的规避组件生命周期管理的问题.今天我们就来看看这个库的使用. 通用的框架准则 官方建议在架构 App 的时候遵循以下两个准则: 关注分离 其中早期开发 App 最常见的做法是在 Activity 或者 Fragment 中写了大量

Unity3d修炼之路:加载一个预制体,然后为该对象添加组件,然后查找对象,得到组件。

#pragma strict function Awake(){ //加载一个预制体 资源必须在 Resources文件夹下 Resources.LoadLoad(); //加载后 必须示例化 GameObject.Instantiate(); //为对象添加组件 AddComponent(); //Find游戏对象 Find(); //Get组件 GetComponent(); var pPrefab : GameObject = Resources.Load("Prefab/Scence&q

Unity3d修炼之路:载入一个预制体,然后为该对象加入组件,然后查找对象,得到组件。

#pragma strict function Awake(){ //载入一个预制体 资源必须在 Resources目录下 Resources.LoadLoad(); //载入后 必须演示样例化 GameObject.Instantiate(); //为对象加入组件 AddComponent(); //Find游戏对象 Find(); //Get组件 GetComponent(); var pPrefab : GameObject = Resources.Load("Prefab/Scence&

iCOM组件(iComponent,应用或学习组件)

iCOM(英文全称:i + component,应用或学习组件,或iCOM组件),为学习资源的一种表现形式,是面向不同类型的学习对象(某一知识点或某一类知识点,如词汇.句子)专门开发的.在外部可重用的.能满足某类知识学习度量衡要求的交互式学习小应用(如游戏.动画等). 目录 1 概念 2 特点 3 互动学习组件iCOM 概念/iCOM组件 iCOM(英文全称:i + component),应用或学习组件或iCOM组件,为学习资源的一种表现形式,是面向不同类型的学习对象(某一知识点或某一类知识点,

详解vue父组件传递props异步数据到子组件的问题

案例一 父组件parent.vue // asyncData为异步获取的数据,想传递给子组件使用 <template> <div> 父组件 <child :child-data="asyncData"></child> </div> </template> <script> import child from './child' export default { data: () => ({ as

深入理解--VUE组件中数据的存放以及为什么组件中的data必需是函数

1.组件中数据的存放 ***(重点)组件是一个单独模块的封装:这个模块有自己的HTML模板,也有data属性. 只是这个data属性必需是一个函数,而这个函数返回一个对象,这个对象里面存放着组件的数据. <template id="MyCpn"> <div> <h2>组件数据的存放 </h2> <p>{{title}}</p> </div> </template> <script>