广告
返回顶部
首页 > 资讯 > 移动开发 >android 自定义Android菜单背景的代码
  • 486
分享到

android 自定义Android菜单背景的代码

Android 2022-06-06 10:06:27 486人浏览 泡泡鱼
摘要

代码如下: public class MenuEx extends Activity { private static final String TAG = "Android

代码如下:
public 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系统,这句可能根据各个厂商编译的固件来灵活处理。

您可能感兴趣的文章:Android开发技巧之我的菜单我做主(自定义菜单)android自定义popupwindow仿微信右上角弹出菜单效果Android实现自定义滑动式抽屉效果菜单Android自定义ViewGroup实现带箭头的圆角矩形菜单Android自定义view实现圆形与半圆形菜单Android实现自定义的卫星式菜单(弧形菜单)详解Android编程自定义菜单实现方法详解Android 自定义弹出菜单和对话框功能实例代码Android自定义控件简单实现侧滑菜单效果Android自定义View展开菜单功能的实现Android使用xml文件资源定义菜单实现方法示例


--结束END--

本文标题: android 自定义Android菜单背景的代码

本文链接: https://www.lsjlt.com/news/27945.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作