`
mermaid
  • 浏览: 41375 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

自定义菜单背景

阅读更多
如何自定义Android菜单背景呢? 默认的情况下Android系统的菜单是白色的,下面的例子可以通过自定义的xml布局实现个性化的menu

public class UserDefinedMenuBackGroudActivity extends Activity {

private static final String TAG = "UserDefinedMenuBackGroudActivity ";


    @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(){
    
     getLayoutInflater().setFactory( new Factory() {
     
      @Override
      public View onCreateView ( String name, Context context, AttributeSet attrs ) {
   
       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.你的图片名); //设置背景为我们自定义的图片
          }
         } );
         return view;
        }
        catch (Exception e ) {}
       }
       return null;
      }
     });
    }
}    

  上面的例子可以轻松的替换当前Activity的Menu背景颜色,上面加粗的包名不能随意改动.
经测试针对2.3以上的不起作用。
分享到:
评论

相关推荐

    基于wxwidgets实现的自定义菜单

    在本文中,我们将深入探讨如何使用wxWidgets库来实现自定义菜单功能。wxWidgets是一个流行的跨平台C++库,它提供了丰富的GUI(图形用户界面)组件,使得开发者能够轻松地创建具有吸引力的桌面应用程序。 首先,我们...

    自定义Android菜单oc

    在Android开发中,自定义菜单背景能够为应用增添独特的风格,提升用户体验。默认情况下,Android系统的菜单背景通常是白色,但通过编程方式,我们可以轻松实现个性化菜单背景。以下是如何自定义Android菜单背景的...

    MFC 自定义菜单栏背景颜色,位置,宽度,高度,选中高亮

    在MFC(Microsoft Foundation Classes)框架中,自定义菜单栏是一项常见的需求,它涉及到界面的个性化和用户体验的提升。本文将深入探讨如何实现MFC菜单栏的背景颜色、位置、宽度、高度以及选中高亮的自定义设置。 ...

    MFC菜单重写可实现自定义菜单

    通过覆盖消息处理函数,我们可以实现自定义菜单样式、动态行为以及更加个性化的用户交互。结合辅助工具如QTOOLS,可以使这个过程更加高效和便捷。在实际项目中,我们应该充分利用这些功能,为用户提供更加美观、易用...

    自定义鼠标右键菜单背景图片工具

    "自定义鼠标右键菜单背景图片工具"正是满足这种需求的软件,它允许用户根据个人喜好更改鼠标右键弹出菜单的背景图片,提升使用体验和视觉效果。 首先,我们来了解一下鼠标右键菜单的基本概念。右键菜单,也称为上...

    html+css仿微信底部自定义菜单

    在网页设计中,为了提供与微信应用相似的用户体验,我们可以使用HTML和CSS技术来创建一个类似于微信底部的自定义菜单。这个菜单通常包含几个固定的选项,如“首页”、“发现”、“聊天”和“我”,方便用户快速访问...

    自定义菜单样式

    在Android应用开发中,自定义菜单样式是一项常用的技术,它能帮助开发者打造出独特且符合品牌风格的用户界面,提升用户体验。本教程将深入探讨如何在Android中实现自定义菜单样式的详细步骤,以及相关的源码解析。 ...

    右键菜单背景更改(软件+教程)

    在这个案例中,附带的DLL文件可能是用来实现自定义菜单背景的关键组件。软件可能需要替换系统中原有的DLL,或者将新的DLL注入到系统进程中,以使自定义背景生效。需要注意的是,不正确的DLL操作可能会导致系统不稳定...

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

    关键在于自定义菜单背景的代码,我们通过重写`LayoutInflater`的`setFactory`方法。`LayoutInflater`负责解析XML布局文件并创建对应的View对象。我们创建了一个新的`Factory`实例,覆盖`onCreateView`方法。当系统...

    js自定义右键菜单

    5. **样式调整**:为了使自定义菜单看起来更像原生,可以添加CSS样式来调整菜单的外观,包括背景色、边框、字体、阴影等。确保其与网页的其他部分保持一致。 通过以上步骤,我们可以实现一个基本的JS自定义右键菜单...

    QT样式(包含:系统托盘,独立标题栏,自定义菜单,窗口自由移动,样式效果)

    在QT样式中,我们可以看到多种功能的实现,如系统托盘、独立标题栏、自定义菜单、窗口自由移动以及各种样式效果。以下将详细讲解这些知识点。 1. **系统托盘**:系统托盘是应用程序在任务栏或通知区域中显示图标的...

    magento 自定义菜单 插件

    在Magento中,自定义菜单插件对于优化用户界面和提升用户体验至关重要。本插件专为实现更灵活、层次分明的菜单设计而开发,允许商家根据自身需求自由调整菜单结构。 自定义菜单插件的核心功能包括: 1. **显示行和...

    visual c++ vc仿QQ菜单 自定义菜单外观.zip

    在本文中,我们将深入探讨如何使用Visual C++(VC++)来实现一个仿QQ菜单的自定义菜单外观。QQ菜单以其独特的设计和易用性深受用户喜爱,因此,模仿其设计可以为我们的应用程序增添类似的用户体验。我们将关注以下几...

    QML自定义菜单样式

    本篇文章将深入探讨如何在QML中自定义菜单样式,特别是MenuItem和MenuBar。 首先,`MenuItem`是QML中的一个基本组件,通常在`Menu`或`MenuBar`中使用,用于表示可点击的选项。默认情况下,`MenuItem`具有简洁的样式...

    计算机软件-商业源码-设置菜单背景色代码PB8.0.zip

    总结来说,"设置菜单背景色代码PB8.0.zip"这个压缩包可能包含了一组PowerBuilder 8.0的源代码,这些代码实现了自定义菜单背景色的功能。对于学习PowerBuilder或需要自定义用户界面的开发者而言,这是一个有价值的...

    WPF自定义多级菜单功能

    采用wpf自定义控件,自定义布局,实现后台动态添加多级菜单功能,菜单构成是一级菜单上层小图片,下层菜单名。二级菜单是左侧小图片,右侧是菜单名称。一级和二级菜单有默认背景图片和选中后的图片。点击一级菜单...

    Android编程自定义菜单实现方法详解

    在Android应用开发中,自定义菜单是一种常见的需求,尤其是在设计具有独特交互体验的应用时。系统默认的菜单可能无法满足所有开发者的需求,比如在屏幕底部展示超过三个菜单项,或者需要特定的动画效果。在这种情况...

    如何写自定义菜单

    在Android应用开发中,创建自定义菜单是一种常见的需求,它能提供更为个性化和丰富的用户体验。本文将详细讲解如何实现点击菜单键后弹出一个自定义的`PopWindow`,展示自定义菜单界面。 首先,我们需要了解`Menu`的...

    自定义菜单显示,含有图标

    在IT领域,自定义菜单是用户界面设计中的一个重要组成部分,特别是在软件开发中。自定义菜单允许开发者根据应用程序的需求和用户的习惯来设计个性化的菜单结构,提高用户体验。标题“自定义菜单显示,含有图标”提示...

Global site tag (gtag.js) - Google Analytics