57.动态添加子View(Java/XML两种方式)

/**

* 动态添加子View(Java)

*/

private View createViewWithJava() {

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(

ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);

LinearLayout view = new LinearLayout(this);

view.setLayoutParams(lp);//设置布局参数

view.setOrientation(LinearLayout.HORIZONTAL);// 设置子View的Linearlayout// 为垂直方向布局

//定义子View中两个元素的布局

ViewGroup.LayoutParams vlp = new ViewGroup.LayoutParams(

ViewGroup.LayoutParams.WRAP_CONTENT,

ViewGroup.LayoutParams.WRAP_CONTENT);

ViewGroup.LayoutParams vlp2 = new ViewGroup.LayoutParams(

ViewGroup.LayoutParams.WRAP_CONTENT,

ViewGroup.LayoutParams.WRAP_CONTENT);

TextView tv1 = new TextView(this);

TextView tv2 = new TextView(this);

tv1.setLayoutParams(vlp);//设置TextView的布局

tv2.setLayoutParams(vlp2);

tv1.setText("姓名:");

tv2.setText("小明");

tv2.setPadding(calculateDpToPx(50), 0, 0, 0);//设置边距

view.addView(tv1);//将TextView 添加到子View 中

view.addView(tv2);//将TextView 添加到子View 中

return view;

}

/**

动态添加子View(Xml)

*/

private View createViewWithXml() {

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(

ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);

View view = LayoutInflater.from(this).inflate(R.layout.a1_post_params, null);//也可以从XML中加载布局

view.setLayoutParams(lp);//设置布局参数

EditText key = (EditText) view.findViewById(R.id.key);

EditText value = (EditText) view.findViewById(R.id.value);

//添加进键值集合

keys.add(key);

values.add(value);

return view;

}

来自为知笔记(Wiz)

时间: 2024-07-28 20:59:22

57.动态添加子View(Java/XML两种方式)的相关文章

servlet之session添加和移除的两种方式

Java Session 介绍 一.添加.获取session 1.项目结构 2.jar包 3.web.xml文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns

动态数据与后台交互的两种方式

第一种方式: javabean: 1 public class BusLoanInfoShop { 2 private Integer id; 3 private Integer bid; 4 private String shopName; 5 private String platformName; 6 private String shopLevel; 7 private String operatingPeriod; 8 private String shopOwner; 9 priva

不使用spring的情况下原生java代码两种方式操作mongodb数据库

由于更改了mongodb3.0数据库的密码,导致这几天storm组对数据进行处理的时候,一直在报mongodb数据库连接不上的异常.   主要原因实际上是和mongodb本身无关的,因为他们改的是配置文件的密码,而实际上这个密码在代码中根本就没有使用,他们在代码中已经把用户验证信息写死.   在协助他们解决这个问题的时候,我看到他们代码中在和mongodb数据库交互时使用了已经不被建议使用的方法,于是便抽时间尝试了一下另一种被建议的方式实现各功能.   当然了,生产环境中用的是mongodb集群

ASP.NET MVC 方法View返回的两种方式

1.参数为字符串类型 例如我们在地址栏输入http://localhost:56431/Test/Index,会查找TestController类下的Index方法并执行,如下图 当我们返回字符串类型的参数的view的时候 会查找视图Views下Test下的aaa.cshtml并返回,如果没有该文件,会查找Shared文件夹下是否有,如果也没有,则会报错. 2.字符串类型和model类型 第一个参数“aaa”会去找View--Test下的aaa.cshtml,并将第2个model参数带入 注:当

[CSS] 子元素垂直居中的两种方式

1. 多个子元素水平并排,IE10以下失效 1 display: flex; 2 align-items: center; 3 justify-content: center; 2.多个子元素竖直排列,这种方式会导致margin失效,IE8以下失效 1 display: table-cell; 2 vertical-align: middle;

New UI-Java代码动态添加控件或xml布局

New UI-Java代码动态添加控件或xml布局  --转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途! 小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的 力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文 更加的详尽,帮到更多的人,O(∩_∩)O谢谢! 小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目录:http://blog.

同一个请求分配一个traceId的两种方式

有时候我们需要某个请求下的所有的traceId都是一致的,以获得统一解析的日志文件.便于排查问题. 为每一个请求分配同一个traceId据我所知有两种方式:MDC和ThreadLocal,MDC的内部实现也是ThreadLocal,下面分别介绍这两种方式. 一.MDC MDC(Mapped Diagnostic Contexts),翻译过来就是:映射的诊断上下文.意思是:在日志中(映射的)请求ID(requestId),可以作为我们定位(诊断)问题的关键字(上下文). 有了MDC工具,只要在接口

java中两种添加监听器的策略

/*第一种:将事件的处理委托给其他对象,下面的例子是委托给了MyListener(implements ActionListener)*/ 1 import java.applet.Applet; 2 import java.awt.event.*; 3 import java.awt.*; 4 public class ChangeColor extends Applet{//Applet的默认布局为FlowLayout方式 5 Color myColor; 6 String str; 7 B

Java中两种动态代理的实现

本文介绍了java中两种动态代理的实现方法,Spring的动态代理也是基于这两种方法的.直接附上源码: 1.JDK实现 使用JDK实现动态代理必须使用接口 接口Work.java public interface Work { public void work(); } 实现类WorkImpl.java public class WorkImpl implements Work { @Override public void work() { System.out.println("我在工作&q