- 浏览: 125377 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
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 16563弹出popwindow的 ... -
Android 获取联系人的姓名、电话信息
2012-01-16 18:29 1188//获取联系人的姓名、电话信息 public ... -
Android中Fragment的应用
2012-01-13 14:36 2047Fragment 表现 Activity ... -
android handlerthread 通知机制
2011-11-15 14:19 5498自从涉足android之日起,越来越觉得android ... -
关于一进入程序就自动执行Spinner的OnItemSelectedListener的问题解决办法
2011-11-04 09:30 1883解决办法就是添加一句话 mySpinner.se ... -
ProgressDialog的dismiss方法与cancel方法的区别
2011-11-04 09:20 6138ProgressDialog,它有两个方法dialog. ... -
进度条的使用 ProgressBar类
2011-11-01 14:04 1034布局文件: <?xml version=&q ... -
Android Zxing 扫描条码实现竖屏模式(portrait mode) 摄像头camera 旋转90度
2011-10-25 10:39 10074最近在搞一个关于条形码扫描的软件,需求需要扫描时是竖屏。 ... -
Android图片浏览器:在对话框上实现图片浏览
2011-10-24 16:32 1465前段时间弄了2个Gallery跟ImageSwitche ... -
Android Layout xml 中的几个概念
2011-10-22 11:13 1251Android 文章第一抄,下面的这些东西是转自Andr ... -
Android 之 ProgressDialog
2011-10-22 11:12 949ProgressDialog 类似于ProgressBa ... -
关于Android 设置application的问题
2011-10-21 20:45 778之前尝试过使用application来保存数据,现在再次使用, ... -
Android设置控件,按钮不显示
2011-10-21 17:47 1239Button btn = (Button)findViewBy ... -
Android 监听返回按钮事件
2011-10-21 17:08 1040用户在点击手机的返回按钮时,默认是推出当前的activt ... -
Android 说说EditText里面的属性
2011-10-19 18:46 1079我们今天来说的就是edit ... -
Android 图片平铺效果
2011-10-19 18:38 1930在drawable文件夹中添加自己的my.xml文件,描 ... -
在Android中创建和使用数据库
2011-10-17 20:11 871每个应用程序都要 ... -
分享一个Android中Dialog的使用例子
2011-10-16 02:44 12511、新建工程:DialogTest 2、编写布局文件: ... -
如何在eclipse的android工程里引用android sdk之外的类和方法
2011-10-14 15:45 852我们经常会遇到这样 ... -
Android自动化测试工具——Monkey
2011-10-13 17:48 797前言: 最近开始研究Android自动化测试方法,整理了 ...
相关推荐
ProgressBar是一种静态或动态显示进度的控件,分为水平、垂直和环形三种样式。在XML布局文件中,我们可以这样声明一个水平进度条: ```xml android:id="@+id/progressBar1" style="?android:attr/...
本篇主要探讨"android简单组合控件使用"这一主题,涵盖组合控件、自定义控件以及广播接收器的使用。 一、组合控件 组合控件是指将多个基础控件如TextView、Button、ImageView等通过布局文件(如XML)进行组合,形成...
本实例主要探讨了四个常见的Android控件:EditText、TextView、Button以及Menu的使用方法,非常适合Android初学者入门学习。 1. **EditText**: EditText控件是Android中的文本输入框,用户可以在其中输入文本。在...
下面是一些常用的Android控件以及它们的基本特性。 ##### 1.1 文本控件 (TextView 和 EditText) - **TextView 控件**:用于显示静态文本。它可以显示简单的文本信息,但不允许用户编辑。 - **继承关系**:`...
在Android开发中,GridView是一个非常常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建类似照片墙、应用列表等界面。本教程将详细讲解Android中的GridView及其使用方法。 1. GridView简介: ...
在Android开发中,TextView是一个非常基础且重要的控件,它用于显示文本信息。在"Android学习(1)TextView"这个项目中,你初次接触并应用了这个关键元素。TextView不仅能够展示静态文本,还能处理动态数据,使得...
### Android控件大全使用方式详解 #### 一、Android控件概述 在Android开发中,控件(Widget)是用户界面的重要组成部分,用于构建应用程序的交互界面。Android提供了丰富的控件,包括基本的按钮、文本框、列表...
这些小部件可以是简单的静态信息展示,也可以是具有交互性的迷你应用,为用户提供快速访问或操作的功能。在本教程中,我们将深入探讨如何创建一个基本的App Widget,即一个在主屏幕上显示TextView的控件。 首先,...
在Android开发中,`ImageView`和`ImageButton`是两种常见的图像显示控件,它们都用于在用户界面上显示图片。这两个控件虽然相似,但在功能和使用上有一些区别。 ## `ImageView` `ImageView`主要用于静态地展示图片...
然而,在实际使用中,可能会遇到加载网页失败的情况,如网络连接问题或者请求的URL无效。系统默认的错误页面通常只显示简单的错误信息,可能不符合应用的UI设计风格。因此,开发者常常需要自定义加载失败时的页面,...
在Android开发中,GridView是一种非常常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建如应用图标网格、照片墙等界面。本篇文章将详细介绍`android GridViewDemo`的使用方法,帮助开发者掌握如何在...
3. Layout XML:用于描述用户界面的XML文件,定义控件的布局和样式。 4. Adapter:连接数据源与视图的桥梁,例如ListView和RecyclerView的数据加载。 5. Fragment:用于构建可重用的UI模块,可以在多个Activity间...
在Android中,我们有时需要根据特定条件或用户操作来动态创建UI元素,而不是在XML布局文件中静态定义。可以使用`LayoutInflater`从XML布局资源中加载视图,然后通过`ViewGroup`的`addView()`方法将其添加到父容器中...
本文将详细解析“Android日历控件”的使用,并结合给定的文件结构,阐述其核心概念和实现方法。 首先,Android系统提供了一个内置的日历应用,但如果你需要自定义或者在自己的应用中集成日历功能,就需要使用到特定...
在Android开发中,帧动画(Frame Animation)是一种常见的动态效果实现方式,它通过连续播放一系列静态图片来模拟动画效果。这种技术尤其适用于那些不需要复杂的交互和高性能要求的简单动画场景,比如加载图标、按钮...
本篇文章将深入探讨Android中常用的控件及其使用方法,同时也会提及如何通过源码理解和定制工具来优化你的Android应用。 一、Android基础控件 1. Button(按钮):用于触发一个操作或事件,可以通过XML属性设置...
在Android开发中,FragmentActivity是用于管理Fragment的Activity子类,它为开发者提供...通过静态或动态加载Fragment,开发者可以灵活地设计用户界面,并利用Fragment的生命周期和事件处理能力来实现丰富的交互功能。
本教程将深入探讨Android资源控件的使用和重要性,以及如何通过实践项目`AndroidBaseDemo`来学习它们。 1. **资源管理** Android系统提供了一个强大的资源管理系统,它允许开发者将图片、字符串、颜色、布局等静态...
除了静态的背景切换,还可以通过编写Java代码实现动态效果。例如,使用动画库实现按钮点击时的缩放、旋转、平移等特效。`LikeAnimation-master`这个项目可能就包含了一些这样的示例,它可能提供了自定义的点击动画类...
除了静态属性,还可以使用`setters`方法动态设置属性值,使得在运行时也能改变控件的外观。 最后,为了在布局文件中使用自定义控件,需要在`res/layout`目录下创建XML布局,并在`<merge>`或`<LinearLayout>`等元素...