Android 使用代码指定view组件在布局中的属性

一、我们已经知道使用XML为组件指定属性,以及添加到指定的布局中是非常的简单的,但是有时候

我们还是需要使用java代码来创建一些变化性非常大的组件,以及为它们指定一些属性,添加到布局

当中。但是使用java代码来做到这些不如XML容易,接下来简单介绍一下那些共性的东西。

1、用java代码创建指定的组件

2、指定组件的属性,将组件添加到布局当中

首先来说,那些属于组件本身的属性,一般都有对应的方法,我们可以查阅官方文档;之后是,我们

需要指定那些属于LayoutParams指定的属性,方法有两种:

①android.view.View有方法

void setLayoutParams(ViewGroup.LayoutParams params)

这个方法能够指定组件的LayoutParams的属性,只需要创建一个

ViewGroup.LayoutParams对象,或者创建一个ViewGroup.LayoutParams的子类对象赋予

params,在ViewGroup.LayoutParams以及其子类的构造方法中的参数就能够指定这些属性;

如:

LinearLayout layout = (LinearLayout) findViewById(R.Id.root) ;

Button bn = new Button(this) ;

bn.setLayoutParams

(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,

                                                            ViewGroup.LayoutParams.WRAP_CONTENT)) ;

layout.addView(bn) ;

②android.view.ViewGroup抽象类中有多个重载的addView方法,这个

方法能够指定添加的组件的布局属性,如,其中一个addView方法如下:

addView(View child, ViewGroup.LayoutParams params) ;

很显然我们通过创建一个ViewGroup.LayoutParams的对象或者子类对象就能够指定要添加的这个组件的布局属性了 ;

③请注意上面的说法,参数params可以是ViewGroup.LayoutParams,也可是

它的子类,这样的话,我们就能够指定不同布局管理器的添加方式,因为这些

布局管理器的静态内部类都是继承自ViewGroup.LayoutParams的(或者直接

继承自ViewGroup.LayoutParams, 或者间接继自

ViewGroup.LayoutParams )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值