Android 在布局容器中动态添加控件

2023-05-16

这里,通过一个小demo,就可以掌握在布局容器中动态添加控件,以动态添加Button控件为例,添加其他控件同样道理。

1、addView

添加控件到布局容器

2、removeView

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

3、使用,来个小demo就明白了

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

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);

    }

 

}

 4、上图

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 在布局容器中动态添加控件 的相关文章

  • 最全CSS各种布局详解

    一 单列布局的实现 1 单列布局中最常用的水平居中的四种方法 同时设置父元素和子元素的样式 xff1a 父元素使用text align实现 xff0c 子元素使用inline block 这里宽高背景只是为了展示 parent text a
  • Android开发的之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同 xff0c 都是事件驱动 给控件添加事件也有接口回调和委托代理的方式 今天这篇博客就总结一下Android中常用的基本控件以及布局方式 说到布局方式Android和iOS还是
  • 为Android Studio中的SettingsActivity定制任务栏 (Setting Activity其实本质上是从PreferenceActivity中继承过来的)

    Android Studio为开发者提供了很多内建的Activity 其中Settings Activity是非常有用且功能强大的一种内建Activity Setting Activity其实本质上是从PreferenceActivity中
  • Android设置页面PreferenceFragment使用详细+代码分析

    Android设置页面PreferenceFragment使用详细 文章目录Android设置页面PreferenceFragment使用详细一 设置页面核心代码二 设置页面布局核心代码三SettingFragment核心代码四 setti
  • Android Studio 上Activity的互相切换

    Activity上有两个按钮 xff0c 切换到其他两个Activity 1 先创建两个Button xff0c 一个Textview 2 给两个Button添加监听器 xff0c 实现如下代码 public class MainActiv
  • Android中的Intent和Intent-filter总结

    一 xff0e 相关概念 xff08 一 xff09 基本概念 Intent中文意思指 意图 按照Android的设计理念 Android使用Intent来封装程序的 调用意图 不管启动Activity Service BroadcastR
  • C#接口中为什么不能像java那样使用static?

    我印象中java里面的接口使用static final修饰的常量 xff0c 不是成员方法 xff0c 使用static修饰的method放在接口中是无意义的 xff0c 接口是用来抽象的 与Java不同 xff0c C 中的接口不能包含域
  • JVM(2)九个部分 p4

    文章目录 1 九大部分1 1 类加载子系统1 2 方法区1 3 堆1 4 直接内存1 5 jvm栈1 6 本地方法栈1 7 垃圾回收系统1 8 PC寄存器1 9 执行引擎 2 堆 栈 方法区的联系3 Java堆的不同结构4 对象已经死了吗4
  • 通过点击事件监听 setOnClickListener 彻底理解回调-Android

    前言 老司机们对于回调肯定熟悉得不能再熟悉了 但是新司机可能还是一脸懵逼的 xff0c 我比较笨 xff0c 当年懵逼了好久 xff0c 看夏安明的这一篇博客地址 xff0c 虽然下边的留言都是 xff0c 写得好 xff01 懂了懂了 x
  • Java 接口和抽象类可以被new么?——顺便总结内部类

    转载 xff1a https blog csdn net hackersaillen article details 47281549 背景 xff1a 最近有同事跟我说了他面试时遇到的问题 xff0c 考官问 xff1a 接口和抽象类可以
  • java之方法的重写

    方法的重写 xff1a 1 在子类中可以根据需要对从基类中继承来的方法进行重写 2 重写的方法和被重写的方法必须具有相同方法名称 参数列表和返回类型 3 重写方法不能使用比被重写的方法更严格的访问权限 程序code class Person
  • Android中传递对象的三种方法

    Android中 xff0c Activity和Fragment之间传递对象 xff0c 可以通过将对象序列化并存入Bundle或者Intent中进行传递 xff0c 也可以将对象转化为JSON字符串 xff0c 进行传递 序列化对象可以使
  • Android中BroadCastReceiver使用(整理)

    BroadcastReceiver 在Android中 xff0c Broadcast是一种广泛运用的在应用程序之间传输信息的机制 而BroadcastReceiver是对发送出来的 Broadcast进行过滤接受并响应的一类组件 下面将详
  • Android的联通性---USB主机模式(三)

    获取跟设备通信的权限 在跟USB设备进行通信之前 xff0c 你的应用程序必须要获取用户的许可 注意 xff1a 如果你的应用程序使用Intent过滤器来发现接入的USB设备 xff0c 而且用户允许你的应用程序处理该Intent xff0
  • android USB

    google 在推出API 3 0后 就增加啦USB通讯这块 同时为API 2 3提供啦一个USB通讯吧 xff0c 这样也让2 3有啦USB通讯功能 不过只支持USBAccessory模式 USB通讯分为两种模式 xff1a xff08
  • 入门 Kotlin 和 Java 混合开发

    一 前沿 如果你学习过其他的编程语言 xff0c 你就会发现 Java 的语法很是哆嗦 xff0c 可是我们为什么没有放弃 Java 这门编程语言呢 xff1f 因为 JVM 是一个非常好的平台 xff0c 而且 Java 程序员目前在中国
  • kotlin 和java 混编

    如果你之前使用 Java 语言而没有 Kotlin 开发经验 xff0c 不用担心 xff0c Intellij IDEA 会帮你一键转换 xff0c 将 Java 代码转换成 Kotlin 代码 但是反过来就不行了 在 Mac 上 xff
  • Kotlin 基础语法

    Kotlin 文件以 kt 为后缀 包声明 代码文件的开头一般为包的声明 xff1a package com runoob main import java util fun test class Runoob kotlin源文件不需要相匹
  • ‘break‘ not in the ‘loop‘ or ‘switch‘ context

    使用phpexcel导出表格 xff0c 切换到php7 0报错 错误地址 xff1a FILE ThinkPHP Library Vendor phpexcel PHPExcel Calculation Functions php LIN
  • Android数据存储之SQLite

    概览 l 概述 l CRUD方法详解 l 注意事项 概述 对于大量数据的处理 xff0c 如果不想将数据存于服务器端 xff0c Android API提供了对关系数据库SQLite的支持 xff0c 在android SDK中tool目录

随机推荐

  • SQLlite在安卓中的基本详解和简单使用

    一 基础介绍 1 SQLite 是一个进程内的库 是一种轻量级的 自给自足的 无服务器的 无需配置的 事务性的SQL数据库引擎 和他其他的数据库一样 xff0c SQLite引擎不是一个独立的进程 xff0c 可以按应用程序需求进行静态或动
  • android开发中的数据库SQLite的使用

    其实学习android很久了 xff0c 关于数据存储 xff0c 之前学习的时候也一同学习过 xff0c 编程这些东西很久没用都忘得差不多了 xff0c 最近做个项目要用到 xff0c 所以又学习了一遍 android中关于数据的存储有好
  • Android图表控件MPAndroidChart——曲线图LineChart的使用(财富收益图)

    目录 前言 本文涉及文章 其他相关文章 1 数据准备 1 1 数据来源 2 曲线展示 2 1 MPAndroidChart获取 2 2 数据对象获取 2 3 数据展示 3 曲线完善 3 1 图表背景 边框 网格线修改 3 2 X Y轴值的自
  • Android图表控件MPAndroidChart——曲线图LineChart的使用(财富收益图)

    目录 前言 本文涉及文章 其他相关文章 1 数据准备 1 1 数据来源 2 曲线展示 2 1 MPAndroidChart获取 2 2 数据对象获取 2 3 数据展示 3 曲线完善 3 1 图表背景 边框 网格线修改 3 2 X Y轴值的自
  • SQLiteOpenHelper使用详解

    SQLiteOpenHelper 的子类 xff0c 至少需要实现三个方法 xff1a 1 构造函数 调用父类 SQLiteOpenHelper 的构造函数 这个方法需要四个参数 xff1a 上下文环境 xff08 例如 xff0c 一个
  • SQLiteOpenHelper的简单使用

    由于想学习GreenDao框架 xff0c 但是看了一下有的蒙圈 xff0c 所以先熟悉一下android原生的SQLiteOpenHelper的使用工具 xff1a SQLite Expert Personal SQLite Expert
  • android SQLiteOpenHelper 使用

    1 实体 package mydemo mycom demo2 entity public class UserInfo private int id private String username private String passw
  • SQLiteOpenHelper的简单使用

    由于想学习GreenDao框架 xff0c 但是看了一下有的蒙圈 xff0c 所以先熟悉一下android原生的SQLiteOpenHelper的使用 工具 xff1a SQLite Expert Personal SQLite Exper
  • 安卓案例:利用SQLiteOpenHelper操作数据库及表

    安卓案例 xff1a 利用SQLiteOpenHelper操作数据库及表 一 运行效果 二 涉及知识点 1 利用SQLiteOpenHelper类创建与升级数据库 这个类是一个抽象类 xff0c 我们必须继承该类创建一个子类 xff0c 实
  • delphi SimpleGraph控件的部分注释

    TSimpleGraph是一个delphi下的可视化图形开源控件 xff0c 有很强编辑态和运行态编辑功能 是学习开发DELPHI控件的一个很好的例子 控件本身有很强的扩展性 完全可以自定义绘制各种图形 控件的地址为http www del
  • java获取实体类的属性和值

    package com jackie day11 import java lang reflect Field import java lang reflect InvocationTargetException import java l
  • Android USB 开发详解

    Android USB 开发详解 先附上 Android USB 官方文档 Android通过两种模式支持各种 USB 外设和 Android USB 附件 xff08 实现Android附件协议的硬件 xff09 xff1a USB附件和
  • Android USB串口开发

    因为第一次接触Android下的串口开发 xff0c 在网上找了很多例子都不能满足自己的需要以及不能正常使用 xff0c 于是结合网上的资源以及查阅资料 xff0c 终于完成了关于这个串口的开发 xff0c 在此记录下usb转串口通信开发的
  • Android USB转串口通信开发实例详解

    好久没有写文章了 xff0c 年前公司新开了一个项目 xff0c 是和usb转串口通信相关的 xff0c 需求是用安卓平板通过usb转接后与好几个外设进行通信 xff0c 一直忙到最近 xff0c 才慢慢闲下来 xff0c 趁着这个周末不忙
  • Android USB转串口编程

    安卓手机的对外通信接口就只有USB跟音频口 xff0c 我们可采用其进行与外设进行通信 今天 xff0c 我们来讲讲安卓手机利用USB接口与外设进行通信 此时 xff0c 有两种情况 第一 xff1a USB xff08 手机 xff09
  • Android串口编程--开关灯Demo(附源码)

    1 项目简述 第二次玩硬件了 xff0c 第一次是通过局域网控制门的开关 xff0c 这次是通过ZB xff08 大概就是这么叫 xff0c 具体名字不清楚 xff09 控制灯的开关 xff0c 感觉控制硬件也就是给硬件发个byte数组而已
  • 安卓开发中的USB转串口通讯

    安卓开发中的USB转串口通讯 本文使用GitHub上开源的 hoho android usbserial USB串口库 该库基于 Android USB Host API xff0c 驱动完全由java开发 xff0c 无需root xff
  • Android USB转串口开发(hoho.android.usbserial串口库)

    使用hoho android usbserial串口库开发串口 import android app Application import android app PendingIntent import android content B
  • 安卓数据库开发helper

    package com mytest myapplication public class MyInfo public MyInfo int id String name String value ID 61 id Name 61 name
  • Android 在布局容器中动态添加控件

    这里 xff0c 通过一个小demo xff0c 就可以掌握在布局容器中动态添加控件 xff0c 以动态添加Button控件为例 xff0c 添加其他控件同样道理 1 addView 添加控件到布局容器 2 removeView 在布局容器