android开发怎么通过代码动态添加和删除控件

android开发怎么通过代码动态添加和删除控件,第1张

可以的,android中使用布局是为了加快开发,最终控件还是通过解析XML后,通过代码添加的。

具体方法:

例如你的布局是一个Linearlayout linear上面有一本Button btn1

要删除这个btn1要做的就是 linear.removeView( btn1 )

动态添加也是一样的

linear.addView( btn2 )

要注意的是,Button btn2 = new Button( context )这时候控件是没有大小的,必须设置控件大小以后添加了才能看到。设置控件大小的方法是view.setLayoutParams()

希望能够帮到你。

动态添加Android(安卓)控件步骤:

1、addView

添加控件到布局容器

2、removeView

在布局容器中删掉已有的控件

3、使用

public class MainActivity extends Activity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

// 生成一个LinearLayout,作为布局容器来动态添加3个Button

final LinearLayout layout = new LinearLayout(this)

layout.setOrientation(LinearLayout.VERTICAL)

setContentView(layout)

// 生成3个Button

final Button btn1 = new Button(this)

btn1.setText("1")

btn1.setText("Button1")

final Button btn2 = new Button(this)

btn2.setText("2")

btn2.setText("Button2")

final Button btn3 = new Button(this)

btn3.setText("3")

btn3.setText("Button3")

// 动态把三个Button添加到

layout.addView(btn1)

layout.addView(btn2)

layout.addView(btn3)

// 点击按钮时,先把原来在布局容器layout上的删掉,再添加上局容器layout,这样本次添加的控件就会排序到最后,以理解动态添加控件的思路

btn1.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

layout.removeView(btn1)

layout.addView(btn1)

}

})

// 同btn1一样道理

btn2.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

layout.removeView(btn2)

layout.addView(btn2)

}

})

// 同btn1一样道理

btn3.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

layout.removeView(btn3)

layout.addView(btn3)

}

})

setContentView(layout)

}

}

在主窗口Activety中加入控件,可以“可视化方式”添加,不需要自已填XML代码;

在主窗口 res->layout->activety_main.xml 的

Graphical Layout中拖上三个控件 edittext1,edittext2,button

,并修改对象名称,这有点类似于可视化IDE;

进入可视化状态Graphical Layout,双击activety_main.xml前面的小图标。

步骤总结一下:

1. 新建一个工程Calc

2. 双击主窗口 res->layout->activety_main.xml 前面的小图标,

出现Graphical Layout可视化界面,拖上三个控件 edittext1,

edittext2,button,并修改对象名称,这有点类似于可视化IDE;

三个控件对象的初始参数就在资源中;

3. 手工添程序到 src-->MainActivety.java,四个步骤:

a.添三控件所涉及的import 头;

b.定义对象 edittext1,edittext2,button 于主类中;

c. 在onCreate()方法中,这三对象与资源id参数关联上;

d.写button的事件代码,并与控件button关联上;

package com.example.calc

import android.os.Bundle

import android.app.Activity

import android.view.Menu

import android.content.Intent

import android.view.View

import android.view.View.OnClickListener // Click事件包

import android.widget.EditText // EditText包

import android.widget.Button // Button包

public class MainActivity extends Activity {

EditText edittext1// 定义控件1

EditText edittext2// 定义控件2

Buttonbutton // 定义控件3

OnClickListener listener=null // Click事件定义

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

edittext1=(EditText)findViewById(R.id.edittext1)

edittext2=(EditText)findViewById(R.id.edittext2)

button=(Button)findViewById(R.id.button)

// 三对象与资源中属性参数关联上

listener=new OnClickListener() {

public void onClick(View v) {

String s=edittext1.getText().toString()

int i=Integer.parseInt(s)*2

edittext2.setText(String.valueOf(i))

// Click事件处理代码

}

}

button.setOnClickListener(listener) // 事件与Button关联上

}

// 。。。。。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11631493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存