2 cplusplusrookie Cplusplusrookie 于 2016.02.12 14:29 提问

android TextView中的setLayoutParam方法

各位前辈,我最近在自学安卓编程,碰到多次
setLayoutParams函数,我对这个函数的用法感觉很模棱两可,API中是这样写
Set the layout parameters associated with this view. These supply parameters to the parent of this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their children.
我的理解是参数指定了这个调用这个方法中的组件在布局文件中的放置方式,但是如果用布局组件的addview方法,什么类型的布局组件调用这个方法,那么被加入的组件应该就是用该类型的布局方式就好了,为什么还要用setLayoutParams 其实我最不明白setLayoutParam中要传入的到底是什么参数??

2个回答

leilba
leilba   Rxr 2016.02.12 14:56

这个就是指明view具有的布局性质,尤其是需要动态添加view的时候,不是通过layout拖进来,而是通过java代码创建view的时候,你想一下在layout里面如果不设置layout_width和layout_height会怎样,系统是不是会给你报错呀,因为你没有指定view的大小。而如果你是在自定义的情况下,系统也不会帮你创建layout_width和layout_height这类属性的,所以,这就需要通过setLayoutParam来进行设置
比如说,你要在LinearLayout这个布局里面动态添加一个TextView,那么你在创建好之后必须要指定textView的LinearLayout.LayoutParams布局属性:

         TextView textView = new TextView(this);
        LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,100);
        textView.setLayoutParams(layoutParams);
        linearLayout.addView(textView);

当然,如果你用的是RelativeLayout,那么就需要使用RelativeLayout.LayoutParams,不同的LayoutParams具有一些特定的不同的方法,要针对着来进行设置。

Cplusplusrookie
Cplusplusrookie 谢谢了
2 年多之前 回复
qq_27578023
qq_27578023   2016.06.07 23:05

这个就是指明view具有的布局性质,尤其是需要动态添加view的时候,不是通过layout拖进来,而是通过java代码创建view的时候,你想一下在layout里面如果不设置layout_width和layout_height会怎样,系统是不是会给你报错呀,因为你没有指定view的大小。而如果你是在自定义的情况下,系统也不会帮你创建layout_width和layout_height这类属性的,所以,这就需要通过setLayoutParam来进行设置
比如说,你要在LinearLayout这个布局里面动态添加一个TextView,那么你在创建好之后必须要指定textView的LinearLayout.LayoutParams布局属性

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android的TextView中显示图片和图像的方法
Android的TextView中显示图片和图像的方法
Android TextView常用用法总结
TestView控件相信大家并不陌生。TestView其实就是用来显示字符串的组件,在手机上就是显示一块文本的区域。向用户显示文本,并可选择允许他们编辑文本。本文主要讲在实际开发过程中,我们经常需要用到的几种用法。
Android TextView的使用方法
1. 最简单的情形:显示一个TextView
Android中TextView的SetText()方法注意事项
忙活了一个下午才研究出来的。。。。 学习Android的Intent时候跟着Mars老师做简单的乘法程序,在第一个activity输入两个正整数,通过一个intent跳转到第二个intent,在第二个activity中使用一个TextView的setText()方法显示乘法计算的结果,很简单是吧。 run as android application之后,第一个activity
Android学习笔记十四:Android TextView的append方法与滚动条同时使用
一、在Android,一个单独的TextView是无法滚动的,需要放在一个ScrollView中。 ScrollView提供了一系列的函数,其中fullScroll用来实现FOCUS_UP和FOCUS_DOWN键的功能,也就是滚动到顶部和底部。 如果在TextView的append后面马上调用fullScroll,会发现无法滚动到真正的底部,这是因为Android下很多函数都是基于消息
Android中TextView中的.setText和.append的区别
setText() 把以前的内容冲掉了,append()在以前的内容后面添加。这个区别应该很好理解。如果原来字域的内容为空,则这两个方法的作用一样。
TextView的xml属性和对应的函数方法
初学者不知道怎么弄,一直都是搜藏。渐渐多了,自己都不知道自己放哪里了。在哪里看见的。就自己把一些发成博客的形式做记录吧!O(∩_∩)O听说发表可以有C币。这是动力啊,可以拿到获取更多的知识。加油,希望自己可以一步步积累。。。
Android 快速使用View的setSelected用法
一、概述 作用: setSelected() 方法是 Android 系统层级 View 类的方法,可以说所有的显示控件,都有这个方法! 它的作用,是用来切换背景显示的 运用: 日常开发中,经常会遇到一个控件 点击 和 未点击 是2个样式的情况 这种需求的实现方法也N多种,调用 控件 的 setSelected() 方法,是其中一种比较方便的实现方法 下面给大家介绍如何实现,非常简单
Android开发---从简单的TextView看Android的控件显示方式
Android中最简单,最常见的一个控件TextView,用来显示文本信息。今天从这个控件来说起,谈谈Android中控件显示方式相关的内容。 一、Android中有两种方法可以显示一个控件。 1、直接在Activity类代码中创建并显示,这个和J2SE中Swing组建的用法是一样的。 TextView tv = new TextView(this); tv.setText("http:
安卓开发之---TextView
一基本单位介绍: dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt