57.动态添加子View(Java/XML两种方式)
2015-12-23 13:16
267 查看
/** * 动态添加子View(Java)[/b] */ 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)[/b] */ 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)
//定义子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)[/b] */ 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)
相关文章推荐
- java开发俄罗斯方块学习笔记 Day-7 多态
- java模拟浏览器包selenium整合了htmlunit,火狐浏览器,IE浏览器,opare浏览器驱
- java模拟浏览器包selenium整合了htmlunit,火狐浏览器,IE浏览器,opare浏览器驱
- Struts2和Struts1对比
- SpringMVC + Spring + MyBatis 学习笔记:提交数据遭遇日期格式转化报400错误解决方法
- ehcache缓存的使用
- [Java]Java工程师成神之路
- Java使用MyEclipse构建webService简单案例
- OSGI环境下的一个错误:javax.xml.bind.JAXBException: ClassCastException
- eclipse maven project 'X' is missing required java project 'Y' soultioin
- Android studio 导入Eclipse项目 Vitamio播放器报错
- Spring与Hibernate整合报错:unable to get the default bean validation
- Spring学习(五)——Spring注解(一)
- Java的内存机制
- JDK/JRE/JVM区别与联系
- Spring中@Autowired注解和@Resource注解的区别
- Java 正则表达式正则
- Java基础--IO流03(File类,Properties,递归,打印流,序列流)
- java处理保留小数点后几位
- Git小白 -- Eclipse插件EGit的使用