- 浏览: 123149 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
563721501:
结果好像有错
JAVA正则表达式实例教程 -
fanfq:
RoyMax 写道靠,我的文章在这里出来了,源连接在这里 ht ...
PhoneGap VS. Titanium -
yanyanquan:
我尝试过你的办法了。
但扫描的时候 扫描不到条码呢。为什么呢、 ...
Android Zxing 扫描条码实现竖屏模式(portrait mode) 摄像头camera 旋转90度 -
java_ruji:
发送邮件时的速度超级慢??
THinkPHP中利用PHPMailer做邮件发送功能 -
coolxing:
不错的文章,谢谢分享
SQLite数据库约束详解
近期对android里面控件修改做了很多实验,由于公司需求很多,不得不重写很多控件。程序目标无非是:高效、轻巧、清晰、标准化
完成动态加载Layout有两种方法,依据个人喜好进行选择:
方法1:静态主Layout动态加载静态子Layout
首先构建子Layout:main2
- <? xml version = "1.0" encoding = "utf-8" ?>
- <!--布局可以任意定义,此处拿线性布局举例,里面有2个按钮元素-->
- < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
- android:id = "@+id/menubar"
- android:background = "@drawable/menubar"
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content" >
- <!--按钮1-->
- < ImageButton android:id = "@+id/button1"
- android:src = "@drawable/btn1"
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content"
- > </ ImageButton >
- <!--按钮2-->
- < ImageButton android:id = "@+id/button2"
- android:src = "@drawable/btn2"
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content"
- > </ ImageButton >
- </ LinearLayout >
然后构建主Layout:main
- <? xml version = "1.0" encoding = "utf-8" ?>
- < RelativeLayout xmlns:android = "http://schemas.android.com/apk/res/android"
- android:id = "@+id/background"
- android:layout_width = "fill_parent"
- android:layout_height = "fill_parent"
- android:background = "@drawable/background" >
- <!--主Layout要给子Layout设置一个容器box,可以在此指定容器的位置,这段是关键部分-->
- < LinearLayout android:id = "@+id/box"
- android:layout_alignParentBottom = "true"
- android:layout_width = "wrap_content"
- android:layout_height = "wrap_content"
- android:layout_centerHorizontal = "true" >
- </ LinearLayout >
- </ RelativeLayout >
最后在程序中加载子layout:
- public class BackgroundTest extends Activity {
- /** Called when the activity is first created. */
- // 子Layout要以view的形式加入到主Layout中
- private View mBarView;
- // 主Layout的容器加载子Layout的View
- private LinearLayout mLinearLayout;
- //给出关键内容
- public void onCreate(Bundle savedInstanceState) {
- super .onCreate(savedInstanceState);
- // 显示主Layout
- setContentView(R.layout.main);
- // 加载子Layout
- mBarView = View.inflate(this , R.layout.main2, null );
- // 找到容器
- mLinearLayout = (LinearLayout)findViewById(R.id.box);
- // 加上View 结束
- mLinearLayout.addView(mBarView);
- }
方法2:静态主Layout动态加载动态的Layout
首先构造你自己的子Layout和上面一样;
然后构建你自定义的Layout类:
- public class MenuLandscapeLinearLayout extends LinearLayout{
- // 构造函数
- public MenuLandscapeLinearLayout(Context context) {
- super (context);
- // TODO Auto-generated constructor stub
- //加载需要的属性,加载方法一的子Layout
- ((Activity) getContext()).getLayoutInflater().inflate(R.layout.main2, this );
- //在此你可以封装很多方法
- }
- }
最后在程序中动态实例化并加载即可:
- public class BackgroundTest extends Activity {
- /** Called when the activity is first created. */
- private LinearLayout mLinearLayout;
- //声明一个子Layout View对象
- private MenuLandscapeLinearLayout mMenuLandscapeLinearLayout;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super .onCreate(savedInstanceState);
- // 加载主Layout
- setContentView(R.layout.main);
- // 找到容器
- mLinearLayout = (LinearLayout)findViewById(R.id.box);
- // 实例化一个子View
- mMenuLandscapeLinearLayout=new MenuLandscapeLinearLayout( this );
- // 添加到容器
- mLinearLayout.addView(mMenuLandscapeLinearLayout);
- }
- }
至此,完成了动态加载子Layout的两种形式,里面可思考的很多,比如封装常用事件、资源,从而节省代码、节省资源;
抛砖引玉,分享经验,希望能助大家优化自己的程序。
<!--EndFragment-->发表评论
-
Android开发窗口实现半透明效果
2012-01-17 18:47 16521弹出popwindow的 ... -
Android 获取联系人的姓名、电话信息
2012-01-16 18:29 1155//获取联系人的姓名、电话信息 public ... -
Android中Fragment的应用
2012-01-13 14:36 2006Fragment 表现 Activity ... -
android handlerthread 通知机制
2011-11-15 14:19 5434自从涉足android之日起,越来越觉得android ... -
关于一进入程序就自动执行Spinner的OnItemSelectedListener的问题解决办法
2011-11-04 09:30 1851解决办法就是添加一句话 mySpinner.se ... -
ProgressDialog的dismiss方法与cancel方法的区别
2011-11-04 09:20 6099ProgressDialog,它有两个方法dialog. ... -
进度条的使用 ProgressBar类
2011-11-01 14:04 1002布局文件: <?xml version=&q ... -
Android Zxing 扫描条码实现竖屏模式(portrait mode) 摄像头camera 旋转90度
2011-10-25 10:39 10004最近在搞一个关于条形码扫描的软件,需求需要扫描时是竖屏。 ... -
Android图片浏览器:在对话框上实现图片浏览
2011-10-24 16:32 1408前段时间弄了2个Gallery跟ImageSwitche ... -
Android Layout xml 中的几个概念
2011-10-22 11:13 1215Android 文章第一抄,下面的这些东西是转自Andr ... -
Android 之 ProgressDialog
2011-10-22 11:12 909ProgressDialog 类似于ProgressBa ... -
关于Android 设置application的问题
2011-10-21 20:45 753之前尝试过使用application来保存数据,现在再次使用, ... -
Android设置控件,按钮不显示
2011-10-21 17:47 1202Button btn = (Button)findViewBy ... -
Android 监听返回按钮事件
2011-10-21 17:08 1008用户在点击手机的返回按钮时,默认是推出当前的activt ... -
Android 说说EditText里面的属性
2011-10-19 18:46 1042我们今天来说的就是edit ... -
Android 图片平铺效果
2011-10-19 18:38 1905在drawable文件夹中添加自己的my.xml文件,描 ... -
在Android中创建和使用数据库
2011-10-17 20:11 841每个应用程序都要 ... -
分享一个Android中Dialog的使用例子
2011-10-16 02:44 11961、新建工程:DialogTest 2、编写布局文件: ... -
如何在eclipse的android工程里引用android sdk之外的类和方法
2011-10-14 15:45 821我们经常会遇到这样 ... -
Android自动化测试工具——Monkey
2011-10-13 17:48 758前言: 最近开始研究Android自动化测试方法,整理了 ...
相关推荐
Android中在xml中静态添加Fragment 在activity_main.xml中添加LeftFragment和RightFragment
一、Layout XML文件常见的两种模块加载方式 1、静态加载:被加载的模块和其它模块加载的时间一样。 <include layout=@layout/otherLayout/> 2、动态加载:需要被加载的模块初始时并没有被加载进内存,在你...
Fragment动态加载和静态加载
Android 静态加载fragment,参考博客: http://blog.csdn.net/u010661782/article/details/51790987
下载了官方的 tinyxml_2_6_2 的库,只...tinyxml_2_6_2动态库.rar (修改版) 以及包含了工程文件以及编译好的DLL了。 tinyxml_2_6_2静态库.zip (原版) tinyxml.dll tinyxmlD.dll tinyxmlSTL.dll tinyxmlSTLD.dll
使用简单的程序展示了C++调用动态库和静态库的方法。 文件结构: exe:笔者部署可运行文件,因开发环境版本不同,可能存在无法直接使用的情况,两个部署文件(copy_ldd.sh及useLib1.sh)可以结合文章分享的(ubuntu下...
fragment设计哲理、静态、动态加载
只要是qt在android开发中调用动态库和静态库的例子。
android jni 静态注册 动态注册 一些基本的操作 静态注册Eclipse 动态注册android studio
静态路由和动态路由同时存在,怎么使用动态路由和静态路由同时在一个路由上配置。
MFC 加载图片 动态加载图片 静态加载图片 ,解决了从网上找的代码的内存泄漏的问题。
android实现静态ip设置,很实用的代码,android客户端ip静态设置源码
1、Fragment的静态使用 Fragment是作为Activity的UI的一部分,它内嵌在Activity中,多个Fragment可以把一个Activity分成多个部分,这在大屏幕手机或者平板电脑中会比较多的用到,这样就不用使用多个Activity来切换...
静态网页和动态网页的区别 动态网页和静态网页的区别,首先要分别了解两个概念,就是什么是静态网页,什么是动态网页,并且学会区分哪些是静态哪些是动态。 静态网页: (1)静态网页不能简单地理解成静止不动的...
对它们进行了抗压强度,抗弯强度,劈裂抗拉强度和模量弹性的静态分析,以及冲击载荷和能量耗散曲线的动态分析。 结果表明,浓度为1%的KOLAM在静态和动态特性方面具有更好的性能。 与普通混凝土相比,添加1%的...
Android Framelayout显示静态和动态的扑克牌 包含Handler 和Timer TimerTask的使用方法
嵌入式Android项目设计与开发 第五章 广播 ——静态接收器 静态接收器 静态接收器概念: 静态接收器并不是通过代码定义过滤器和接收器对象,而是在注册文件中注册的。 当应用被安装之后,该接收器就已经存在并启动了...
android studio 简单demo实现将c++代码 编译成静态库和动态库 简单的makefile文件一看就明白
通过使用LayoutInflater 每次点击按钮时候去读取布局文件,然后找到布局文件里面的各个VIEW 操作完VIEW 后加载进我们setContentView 方面里面的要放的布局文件里面,每次动态加载文件必需 调用 removeAllViews方法,...