Android成长之路-LayoutInflater和inflate的用法

标签: android 成长 layoutinflater | 发表时间:2012-01-19 14:57 | 作者:like7xiaoben
出处:http://blog.csdn.net

在这里用Tabhost的例子来说明:

package cn.csdn.activity;

import android.app.TabActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost;

public class TabHostActivity extends TabActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		TabHost tabhost = this.getTabHost();

		/**
		 * LayoutInflater这个类的作用类似于findViewById(),
		 * 不同点:
		 *     LayoutInflater是用来找layout下xml布局文件的,而且它会实例化
		 *     findViewById()是找具体xml布局文件下的具体widget控件,比如:Button按钮
		 * 
		 * 
		 * 
		 * inflate就相当于将一个xml中定义的布局找出来.    
		 * 因为如果在一个Activity文件里直接用findViewById()这个方法的话,
		 * 那么它所对应的是setConentView()中调用的那个layout里的组件.   
		 * 因此如果在同样的Activity里用到别的layout的话,
		 *     而且你还要设置这个layout里的组件(比如:ImageView,TextView)上的内容,
		 *     那么你就必须用inflate()先将这个layout找出来, 然后再用这个layout对象去找到它上面的组件
		 *     然后进行一系列的操作
		 *     
		 *     inflate()方法中参数:
		 *       1.想要用的布局文件的id
		 *       2.持有选项卡的内容,获取FrameLayout
		 *       3.true:将此处解析的xml文件做为根视图View
		 */
		LayoutInflater.from(this).inflate(R.layout.tabhost_layout,
				tabhost.getTabContentView(), true);

		
		/**在这里添加的时候:
		 *       1.必须指定 tab 的内容,必须为 id, 即:setContent(R.id.text)
		 *       2.必须设置tab 上的文字或图片  , 即:setIndicator("已接电话")
		 *       3.返回一个 TabHost.TabSpec 对象,其参数用于标识一个 tab 的 tag,即:newTabSpec("tab1")
		*/
		tabhost.addTab(tabhost.newTabSpec("tab1").setIndicator("已接电话")
				.setContent(R.id.text));
		
		tabhost.addTab(tabhost.newTabSpec("tab2").setIndicator("呼出电话",
				getResources().getDrawable(R.drawable.ic_launcher))
				.setContent(R.id.text));
		
		tabhost.addTab(tabhost.newTabSpec("tab3").setIndicator("未接电话")
				.setContent(R.id.text));
	}
}


 

作者:like7xiaoben 发表于2012-1-19 14:57:10 原文链接
阅读:2 评论:0 查看评论

相关 [android 成长 layoutinflater] 推荐:

Android成长之路-LayoutInflater和inflate的用法

- - CSDN博客推荐文章
在这里用Tabhost的例子来说明:. * LayoutInflater这个类的作用类似于findViewById(),. LayoutInflater是用来找layout下xml布局文件的,而且它会实例化. findViewById()是找具体xml布局文件下的具体widget控件,比如:Button按钮.

Android杂谈--LayoutInflater和MenuInflater用法

- - 博客园_首页
      前言      . LayoutInflater用法. LayoutInflater是一个用来实例化XML布局为View对象. 应用程序运行时会预先加载资源中的布局文件,如果layout布局中的资源比较多,会影响性能,所以可以选择LayoutInflater方式用的时候加载,这样减轻了应用程序运行时很多负担.

Android开发者如何与Google Play共同成长?

- - CocoaChina移动观察
与Google Play 共同成长. 最近,苹果逐步淘汰UDID的计划在应用营销的社区里引起了一阵恐慌,UDID曾为应用的广告活动提供了标准化并得到广泛支持的方法. 不幸的是,如今市面上还没出现一个能够替代UDID的解决方案,但iOS市场貌似已经开始分裂了,各种各样的技术都在争相吸引开发者的注意力,这让开发者们更加难以分配自己所拥有的资源.

Google 暑期大学生博客分享大赛 2011 Android 成长篇

- Qian - 谷奥——探寻谷歌的奥秘
让暑期生活丰富多彩,2011 年,Google 暑期大学生博客分享大赛再度开赛——今年的主题是 Android 成长篇. 无论你是否做过 Android 开发、无论你是否使用过 Android 手机,都可以来参赛,轻松发篇博文,赢得珍藏版 Android T恤,还有机会赢得 Android 手机,赶快行动吧.

(二)Android性能优化系列---Improving Layout Performance(一)(转载自:http://xhmj12.iteye.com/blog/2064258) - 小菜美妞成长中

- - 博客园_首页
Android性能优化系列---Improving Layout Performance(一).         Layouts是Android应用里直接影响用户体验的一个关键部分. 如果Layout设计的不好,可能导致你的应用大量的内存占用从而导致UI响应很慢. Android SDK提供了工具帮助你分析你的Layouts的性能问题.

Android 遥控车

- CasparZ - LinuxTOY
您确定您真的会用 Android 手机玩赛车. 16 岁的法国学生 Jonathan Rico 使用 Android 手机通过蓝牙实现了对改装玩具汽车的遥控. 操控的方式和那些标榜的智能手机游戏一样,使用重力感应,差别是这次控制的是现实世界中的遥控汽车. 收藏到 del.icio.us |.

Android免费?毛

- Ruby - FeedzShare
来自: 36氪 - FeedzShare  . 发布时间:2011年08月17日,  已有 2 人推荐. 微软CEO Steve Ballmer在预测竞争对手产品时通常口无遮拦. 比如他去年抨击Google的Android战略时,很多人都不屑一顾. 接着Android蚕食了微软的地盘,后来又开始侵犯苹果的地盘.

GetEd2k (Android应用)

- 某牢 - eMule Fans 电骡爱好者
GetEd2k是一个Android应用程序,作者是anacletus. 此应用可以帮助你把网页中的电驴(eDonkey) 链接添加到你个人电脑的电驴客户端里,不过前提是你的客户端开启了用于远程控制的Web interface(Web服务器,网页接口,Web界面),当然,eMule(电骡), MLDonkey 和 aMule 都支持该功能,所以这三种主流电驴客户端的用户都可以使用GetEd2k.

Android 4.0发布

- coofucoo - Solidot
Shawn the R0ck 写道 "2011年10月19日早上10点,谷歌与三星联手在香港发布了Android 4.0和Galaxy Nexus. " Android 4.0 的主要特性包括:更精细的UI,加强多任务和通知功能,锁屏下可打开摄像头和浏览通知,改进文本输入和拼写检查;增强视频录制和图像编辑功能,支持剪裁和旋转图片、消除红眼、添加效果等;面部识别解锁;Android Beam允许两台支持NFC的设备之间交换应用程序、联系人、音乐和视频;Wi-Fi Direct,蓝牙HDP,等等.