android 提供了一个工具 能够把int 的 *.xml 文件转化为 View 这就是XxxInflater 主要有2种:
* LayoutInflater
* MenuInflater
通常使用:
MenuInflater mInflater = getMenuInflater();LayoutInflater lInflater = getLayoutInflater();

上述二者仅在 Activity 中才有效!

MenuInflater具体使用方法
比如现在在res目录下创建menu文件夹有一个关于menu的描述文件 menu_item.xml 如下:
<?xml version="1.0" encoding="utf-8"?>    <menu xmlns:android="http://schemas.android.com/apk/res/android">        <item             android:id="@+id/Item_1"             android:title="Item_1"          android:icon="@android:drawable/ic_menu_add"    />        <item             android:id="@+id/Item_2"             android:title="Item_2" />        <item             android:id="@+id/Item_3"             android:title="Item_3"           android:enabled="false"  />    </menu>  

现在把它转化为 View.
public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.layout.menu_item, menu); return true; }


public boolean onOptionsItemSelected(MenuItem item) {           switch (item.getItemId()) {           case R.id.Item_1:                             break;           case R.id.Item_2:               break;           case R.id.Item_3:               break;           }          return super.onOptionsItemSelected(item);     } 

更复杂一点的menu:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"><item android:title="Play" android:id="@+id/media_play"  android:icon="@android:drawable/ic_media_play"/><item android:title="Pause" android:id="@+id/media_pause"  android:icon="@android:drawable/ic_media_pause"/><item android:title="File" android:id="@+id/file"><menu><item android:title="Open..." android:id="@+id/file_open"/><item android:title="Save" android:id="@+id/file_save"/><item android:title="Save as" android:id="@+id/file_saveas"/><item android:title="Exit" android:id="@+id/file_exit"/></menu></item><item android:title="Edit" android:id="@+id/edit"><menu><group><item android:title="Copy" android:id="@+id/edit_copy"/><item android:title="Paste" android:id="@+id/edit_paste"/><item android:title="Cut" android:id="@+id/edit_cut"/><item android:title="Delete" android:id="@+id/edit_delete"/></group></menu></item></menu>

LayoutInflater 和 MenuInflater 的使用基本类似 也是根据int 的 *.xml 文件得到 View 所不同的就是 嵌套原因 所以多了一个参数-ViewGroup 用来表示 父View 比如:在 LinearLayout layout 里面有一个 TextView 且其用tv.xml 描述 那么应该如下使用
LayoutInflater inflater = getLayoutInflater(); inflater.inflate(R.layout.tv,layout);

LayoutInflater更详细的用法见下面:
http://gundumw100.iteye.com/admin/blogs/825503

更多相关文章

  1. 箭头函数的基础使用
  2. NPM 和webpack 的基础使用
  3. Python list sort方法的具体使用
  4. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  5. Android上如何查看CPU和内存信息
  6. Android:dimen尺寸资源文件的使用
  7. Android中五中布局文件的使用和介绍
  8. Andriod使用webview控件往APP里内嵌网页
  9. android 陀螺仪简单的使用

随机推荐

  1. android window类
  2. 推荐Android两种屏幕适配方案
  3. 10个经典的Android开源应用项目
  4. Android中的网络时间同步
  5. Android(安卓)P 图像显示系统(三)Android(
  6. Android(安卓)发邮件
  7. 2016这一年,回顾我们一起走过的"编码美丽"
  8. 2013学Android不得不看的13个视频课程(共
  9. Android中的网络时间同步
  10. Android流媒体