package lab.sodino.menutest;
import android.content.Context;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.util.AttributeSet;
import android.view.InflateException;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
/**
* @author Sodino E-mail:sodinoopen@hotmail.com
* @version Time:2011-1-26 下午04:42:04
*/
public class MenuAct extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = new MenuInflater(getApplicationContext());
inflater.inflate(R.menu.menu, menu);
setMenuBackground();
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
String info = "";
switch (item.getItemId()) {
case R.id.menu_add:
info = "Add";
break;
case R.id.menu_delete:
info = "Delete";
break;
case R.id.menu_home:
info = "Home";
break;
case R.id.menu_help:
info = "Help";
break;
default:
info = "NULL";
break;
}
Toast toast = Toast.makeText(this, info, Toast.LENGTH_SHORT);
toast.show();
return super.onOptionsItemSelected(item);
}
// 关键代码为重写Layout.Factory.onCreateView()方法自定义布局
protected void setMenuBackground() {
MenuAct.this.getLayoutInflater().setFactory(new android.view.LayoutInflater.Factory() {
/**
* name - Tag name to be inflated.<br/>
* context - The context the view is being created in.<br/>
* attrs - Inflation attributes as specified in XML file.<br/>
*/
public View onCreateView(String name, Context context, AttributeSet attrs) {
// 指定自定义inflate的对象
if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")) {
try {
LayoutInflater f = getLayoutInflater();
final View view = f.createView(name, null, attrs);
new Handler().post(new Runnable() {
public void run() {
// 设置背景图片
view.setBackgroundResource(R.drawable.menu_background);
}
});
return view;
} catch (InflateException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
return null;
}
});
}
}
分享到:
相关推荐
本文介绍了element-ui tooltip修改背景颜色和箭头颜色的实现,分享给大家,具体如下: 分享 placement=left popper-class=draw_share_atooltip> <div class=iconfont></div> //箭头颜色 .el-tooltip__...
本光盘主要为书中的源程序,关于这些源程序中相关样式的具体含义及作用, 请参看书中的相应讲解部分。 -----------------------------光盘程序代码说明-------------------------------- 源文件\01 presentation....
背景音乐选择菜单的背景音乐,支持 MP3/MP2/MP1/OGG/WAV/MID/RMI/XM/IT/MOD/S3M/MTM 等十数种音乐格式。背景音乐将嵌入到数据文件 autorun.apm 中。 循环控制:循环播放背景音乐或只播放一次。 自动播放:菜单...
|--aidl之结合反射获取应用缓存大小等空间占用 |--aidl调用系统service未公开的方法挂电话 |--aidl调用系统未公开的方法代码示例2 |--android dp和px之间转换 |--android INSTALL_PARSE_FAILED_MANIFEST_MALFORMED |...
主要介绍了vant 自定义 van-dropdown-item的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
}/* 单元格的CSS定义:对应CSS中的“TD”,这里为总的表格定义,为一般表格的的单元格风格设置,可定义内容为背景、字体颜色、样式等 */TD{FONT-FAMILY:宋体;FONT-SIZE: 9pt;line-height: 150%; }/* 文本框的CSS定义:...
但是,如果要在2.2以上的版本修改菜单的样式,例如修改背景颜色,图片等,使用这些方法是没有任何作用的。因此自己写了一个自定义的菜单控件,可以自由定义菜单的样式,使得菜单的样式更加丰富。
MFC 自定义菜单栏背景颜色,位置,宽度,高度,选中高亮以及颜色设置,菜单栏加载,菜单栏位置显示设置等等。
-动态生成菜单实例(other\menu_dynamic_run.aspx和other\menu_dynamic2_run.aspx)(feedback:shguo)。 -优化AJAX的内部实现,每个页面保存的ViewState现在减少1/3左右(重要更新)。 -优化Tree节点的NodeId自动...
5、新增背景判断,背景为空时则显示默认背景,有背景时显示上传背景! ------2012.08.15--更新说明-------------- 1、解决下载频道、相册频道、案例频道因没有数据而产生的错位,错版问题 2、后台新增CSS在线编辑器...
更改默认样式:更改背景,字体和边框。 演示版 安装 屏幕截图 用法 import 'package:flutter/material.dart' ; import 'package:pluto_menu_bar/pluto_menu_bar.dart' ; void main () { runApp ( MyApp ()); } ...
背景音乐选择菜单的背景音乐,支持 MP3/MP2/MP1/OGG/WAV/MID/RMI/XM/IT/MOD/S3M/MTM 等十数种音乐格式。背景音乐将嵌入到数据文件 autorun.apm 中。 循环控制:循环播放背景音乐或只播放一次。 自动播放:菜单...
网页背景图片的修改,打开叠层样式文件images/css.css定义背景图片路径 支持最低最低分辨率800×600IE5.0后台fsoxml编译 sql版本需要安装sql2000服务器端 --------------------------------------------------------...
异步加载图片:解决了图片的异步加载以及OOM...YouKu的Menu样式 一些运行环境监察的工具类 有米广告的集成测试 以上的代码中可能还有些其他的问题,以后会逐步修改 如果代码阅读有任何问题,请加入QQ群:57472287讨论
-Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。 -增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和...
文字部分要自己修改,CSS模板最好不要变动. 基本信息 学业信息 社交关系 求职信息 个人特点 使用了jquery .有缓动效果,点击左侧菜单,右侧的页面 会滑动.其功能在目录下的menu.js 文件里, 不过,就算是样式,脚本...
【资源说明】 C++开发基于Qt的音乐播放器的设计与实现项目源码+项目...3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——...
3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——...
3.3 更改TextView文字颜色——引用Drawable颜色常数及背景色 3.4 置换TextView文字——CharSequence数据类型与ResourceID应用 3.5 取得手机屏幕大小——DisplayMetrics取得画面宽高的方法 3.6 样式化的定型对象——...