客服热线:18391752892

Android 中文API:MenuInflater顺水鱼财经

核心摘要:一、结构 public class MenuInflater extends Object java.lang.Object android.view.MenuInflater 直接子类 TabActivity 二、概述 <img src="http://img.h
外汇期货股票比特币交易一、结构

public class MenuInflater extends Object

java.lang.Object

android.view.MenuInflater

直接子类

TabActivity

二、概述


这个类是用来实例化菜单XML文件成菜单对象。

由于性能的原因,由于程序创建时候就加载一些预处理XML文件,Menu过多就造成很重的负担。因此,这是目前无法在运行时使用多于一个XmlPullParser的xml文件去使用MenuInflater,它只能使用一个XmlPullParser返回的编译过的资源(R.某些文件)

三、构造函数

public MenuInflater (Context context)

构造填充(inflater)一个菜单

参见

getMenuInflater()

四、公共方法

public void inflate (int menuRes, Menu menu)

菜单层次从一个指定的xml资源去填充,如果有错误会抛掷InflateException。

参数

menuRes 要加载XML布局文件中的资源ID(例如R.menu.main_activity)

menu 要填充的菜单,这些项目和子菜单就被添加到要填充菜单中

五、补充

文章精选

MenuInflater Android菜单从xml创建方法

Android中MenuInflater实例

Android 中MenuInflater的使用(布局定义菜单)

示例代码

新建一个项目,项目文件列表


MenuInfalterTest.java

public class MenuInflaterTest extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

public boolean onCreateOptionsMenu(Menu menu) {

// 获取当前的菜单

MenuInflater inflater = getMenuInflater();

// 填充菜单

inflater.inflate(R.menu.option_menu, menu);

return true;

}

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case R.id.menu_add:

break;

case R.id.menu_wallaper:

break;

case R.id.menu_search:

break;

case R.id.menu_setting:

showSettings();

break;

}

return super.onOptionsItemSelected(item);

}

private void showSettings() {

Intent settings = new Intent

(android.provider.Settings.ACTION_SETTINGS);

settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK

| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);

startActivity(settings);

}

}

}

Main.xml

?xml version="1.0" encoding=""?

LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_ width="fill_parent"

android:layout_border="1" height="fill_parent"

TextView

android:layout_ width="fill_parent"

android:layout_border="1" height="wrap_content"

android:text="@string/hello"

/

/LinearLayout

Option_menu.xml

?xml version="1.0" encoding=""?

menu xmlns:android="http://schemas.android.com/apk/res/android"

item android:id="@+id/menu_add"

android:title="Add"

android:icon="@android:drawable/ic_menu_add"/

item android:id="@+id/menu_wallaper"

android:title="Wallpaper"

android:icon="@android:drawable/ic_menu_gallery"/

item android:id="@+id/menu_search"

android:title="Search"

android:icon="@android:drawable/ic_search_category_default"/

item android:id="@+id/menu_setting"

android:title="Settings"

android:icon="@android:drawable/ic_menu_preferences"/

/menu

(责任编辑:admin)
下一篇:

4.25黄金多空争夺可双向斩利,周获利4.3万不过尔尔!

上一篇:

老年人理财应防范三个陷阱顺水鱼财经

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们
 
0相关评论