自定义Android菜单背景
本文来自:安卓航班网
如何自定义Android菜单背景呢? 默认的情况下Android系统的菜单是白色的,下面的例子可以通过自定义的xml布局实现个性化的menupublic class MenuEx extends Activity {
private static final String TAG = "android123";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
MenuInflater inflater = new MenuInflater(getApplicationContext());
inflater.inflate(R.menu.options_menu, menu);
setMenuBackground();
return true;
}
关键代码就是重写Layout类的工厂方法onCreateView,这里对比绘制的View来替换系统中的
protected void setMenuBackground(){
Log.d(TAG, "开始设置菜单的的背景");
getLayoutInflater().setFactory( new Factory() {
@Override
public View onCreateView ( String name, Context context, AttributeSet attrs ) {
if ( name.equalsIgnoreCase( "com.android.internal.view.menu.IconMenuItemView" ) ) {
//上面这句Android123提醒大家不能有改动,目前来看对于原生android目前这个packageName还没有变化
try {
LayoutInflater f = getLayoutInflater();
final View view = f.createView( name, null, attrs ); //尝试创建我们自己布局
new Handler().post( new Runnable() {
public void run () {
view.setBackgroundResource( R.drawable.cwj"_bg); //设置背景为我们自定义的图片,替换cwj_bg文件即可
}
} );
return view;
}
catch ( InflateException e ) {}
catch ( ClassNotFoundException e ) {}
}
return null;
}
});
}
}
上面的例子可以轻松的替换当前Activity的Menu背景颜色,这里Android开发网再次提醒大家上面加粗的包名不能随意改动,如果非原生的Android系统,这句可能根据各个厂商编译的固件来灵活处理。
原文地址:http://www.apkway.com/forum.php?mod=viewthread&tid=2508&extra=page%3D1
转载于:https://www.cnblogs.com/yyq-quan/archive/2011/08/04/2127723.html
自定义Android菜单背景相关推荐
- android 自定义menu背景,Android编程实现自定义系统菜单背景的方法
本文实例讲述了Android编程实现自定义系统菜单背景的方法.分享给大家供大家参考,具体如下: 不多说,上图,见代码. package lab.sodino.menutest; import andr ...
- 自定义android控件EditText 自定义边框 背景
自定义EditText边框背景: 首先重新定义一个style.在values文件夹下新建一个xml文件: <?xml version="1.0" encoding=" ...
- Android项目开发实战—自定义左右菜单
Android实现自定义左右菜单 功能描述: 在左中右三个区域分别承载三个不同的view,把它全部添加进来,而我们实现左右菜单,就是来控制当前显示的是哪一部分:如果显示中间菜单,就把中间菜单呈现在用户 ...
- Android自定义menu菜单布局
一:先写一个自定义的菜单布局 menu_gallery.xml: <?xml version="1.0" encoding="utf-8"?> &l ...
- Android自定义按钮状态背景
如果你觉得Android自带的按钮默认.按下时样式太low,可以尝试自定义按钮状态背景: 首先把我自定义的按钮状态背景图贴上来: 默认时: 按下后: 有没有很小清新呐~~~ 自定义按钮状态步骤如下: ...
- android menu自定义,Android提高之自定义Menu(TabMenu)实现方法
一般使用过UCWEB-Android版的人都应该对其特殊的menu有一定的印象,把menu做成Tab-Menu(支持分页的Menu),可以容纳比Android传统的menu更丰富的内容(Android ...
- android+模拟器皮肤,自定义android模拟器皮肤和键盘映射
我想为Android模拟器创建自己的皮肤.我有照片购买了一些皮肤图像. 有一些额外的按钮,我需要映射,以便点击它时应该生成一个特定的事件. 在我的个性化皮肤文件夹的布局文件看起来是这样的:自定义and ...
- 自定义Android带图片的按钮
自定义Android带图片的按钮 前言 现在移动设备的按钮设计讲究大图标小文字,希望用户只要一看到图标便能知道这个按钮是干嘛的,但又要有必要的文字提示,最常见的就数搜索按钮了,上面一个大大的放大镜图标 ...
- 制作个性化gurb菜单背景图片
由于Linux是开源系统,并且一切皆文件,所以如果对Linux grub启动菜单背景感觉太过单调,我们完全可以通过修改配置文件自定义为我们喜欢的背景图片 grub背景图片要求: 图片格式:xp ...
最新文章
- 1113 Integer Set Partition (25 分)【难度: 一般 / 知识点: 思维 贪心】
- java企业号回调模式,微信公众平台企业号开发—开启回调模式
- 5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出
- 工信部:三大运营商移动电话用户总数达15.92亿户 同比增长0.2%
- Kubernetes之StatefulSet
- 跟着李开复去硅谷,你有疑惑我帮问 | 互动一则
- Hyperledger Fabric chaincode 开发(疑难解答)
- Qt中的对话框(模态,非模态,关于,问题,文件)
- 枚举学习文摘 — 框架设计(第2版) CLR Via C#
- Linux系统开机提速我有招!
- CSND默认markdown样式
- 《算法笔记》的codeup打不开怎么办
- 高并发分布式场景下的应用---分布式锁
- 图片从服务器在网页显示,spring从服务器磁盘读取图片,然后显示于前端页面上...
- 唐朝一体机屏幕显示变红
- 【转载】AE表达式中英文对照
- 开关柜绝缘状态检测与故障诊断
- 用Kubernetes部署超级账本Fabric的区块链即服务
- 广西大学计算机技术导师,唐天兵,广西大学 计算机与电子信息学院
- 计算机毕业设计(深度学习,机器学习)