您的位置 首页 IC

Android 使用addView 动态给Activity增加View组件

本文主要讲述如何动态给UI界面添加布局和控件,在编程的时候很多时候需要动态显示一些内容,在动态添加View的时候,主要使用addView方法。1. addView方

本文首要叙述怎么动态给UI界面增加布局和控件,在编程的时分许多时分需求动态显示一些内容,在动态增加View的时分,首要运用addView办法。

1. addView办法简介

Android 中,能够运用排版View的 addView 函数,将动态发生的View 物件加入到排版View 中。

比如如下:

Activity代码:

public class helloWorld extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView( R.layout.main );

// 获得LinearLayout 物件

LinearLayout ll = (LinearLayout)findViewById(R.id.viewObj);

// 将TextView 加入到LinearLayout 中

TextView tv = new TextView(this);

tv.setText(Hello World);

ll. addView ( tv );

// 将Button 1 加入到LinearLayout 中

Button b1 = new Button(this);

b1.setText(撤销);

ll. addView ( b1 );

// 将Button 2 加入到LinearLayout 中

Button b2 = new Button(this);

b2.setText(确认);

ll. addView ( b2 );

// 从LinearLayout 中移除Button 1

ll. removeView ( b1 );

}

}

上述代码的方位,是笔直顺序排列的由于界面代码Linerlayout的orientation设置的是vertical的,可是为了漂亮,需求设置增加的View的方位和款式。在增加View的时分分为两类来介绍,一种是布局(例如:Linearlayout等),一种是控件(例如:Button,TextView等等。)

2. 动态增加布局(包含款式和方位)

下面的比如将介绍怎么动态增加布局,基本内容和上面的代码共同,首要重视怎么操控增加的布局的方位。在操控布局的方位的时分运用LayoutParam类来完成。

比如:

界面代码和上面的界面代码类似,就不在重复介绍。

Activity类部分代码:

RelativeLayout rl = new RelativeLayout(this);

//设置RelativeLayout布局的宽高

RelativeLayout.LayoutParams relLayoutParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

this.addView(rl, relLayoutParams);

3. 动态增加控件

动态增加控件和增加布局很类似,下述代码首要重视看操控控件的方位,下面的代码和第二项增加布局的弥补,在新增加的布局里边再增加控件。

界面代码相同不在重复。

Activity类部分代码:

RelativeLayout rl = new RelativeLayout(this);

//设置RelativeLayout布局的宽高

RelativeLayout.LayoutParams relLayoutParams=new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

TextView temp = new TextView(this);

temp .setId(1);

temp.setText(“图片”);

rl.addView(temp);

TextView tv = new TextView(this);

tv.setText(“文字”);

tv.setId(2);

LayoutParams param1 = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

param1.addRule(RelativeLayout.BELOW, 1);//此控件在id为1的控件的下边

rl.addView(tv,param1);

Button update = new Button(this);

update.setText(Button);

LayoutParams param2 = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);

param2.addRule(RelativeLayout.RIGHT_OF, 1);//此控件在id为1的控件的右边

rl.addView(update,param2);

this.addView(rl, relLayoutParams);

留意:操控方位和款式的时分,布局和控件运用的办法是相同的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/301096.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部