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

Android 修改Menu背景

 
阅读更多
public void setMenuBackground(Context context, Menu menu) {
		((Activity) context).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 = ((Activity) context)
								.getLayoutInflater();
						final View view = f.createView(name, null, attrs);// 尝试创建我们自己布局
						new Handler().post(new Runnable() {
							public void run() {
								view.setBackgroundResource(R.drawable.menu_bg);// 设置背景为我们自定义的图片,替换cwj_bg文件即可
							}
						});
						return view;
					} catch (Exception e) {
					}
				}
				return null;
			}
		});
	}
2
2
分享到:
评论
2 楼 helloandroid 2011-11-03  
longhua828 写道
学习了,LayoutInflater是干什么的?
说白了就是解析xml,国根据xml的属性值生成对象。
public View inflate(XmlPullParser parser, ViewGroup root) {
        return inflate(parser, root, root != null);
    }
,看到XmlPullParser了嘛?这个是android里面的pull解析,常用的xml解析还有dom解析和sax解析
1 楼 longhua828 2011-11-02  
学习了,LayoutInflater是干什么的?

相关推荐

    android修改状态栏背景颜色、字体颜色,隐藏状态栏,状态栏透明

    本教程将详细讲解如何修改状态栏的背景颜色、字体颜色,如何隐藏状态栏以及如何实现状态栏透明。 1. **修改状态栏背景颜色** 在Android 5.0(API Level 21)及以上版本,我们可以使用`setStatusBarColor()`方法来...

    Android UI之样式Menu

    在Android开发中,UI设计是用户体验的关键组成部分,而Menu作为一种重要的交互元素,常常用于实现应用程序中的下拉选项或操作选项。本教程将深入探讨如何在Android中创建炫酷的弹出菜单,让你的应用脱颖而出。 首先...

    Android menu单选菜单.zip

    - 可以通过修改`style.xml`文件中的主题或者使用自定义样式来改变菜单项的外观,如字体大小、颜色、背景等。 7. **适配不同设备** - 考虑到不同设备的屏幕尺寸和方向,可能需要对菜单进行适当的调整。例如,对于...

    Android activity Menu设计实例参考.rar

    Android activity Menu设计实例源代码,点击第一个menu的第一个按钮...可以设置menu按钮的背景。  和之前有一个点击按钮将按钮隐藏的源码十分相似,相关源码请点击下面的链接。  相关源码:Android点击后按钮不可见

    android wheel menu

    - **自定义布局**:改变菜单项的布局,比如修改文字大小、颜色,添加背景图片等。 - **动画效果**:添加过渡动画,如旋转进入、淡入淡出等,增强用户体验。 - **交互方式**:支持触摸滑动和点击触发,还可以添加滑动...

    Android 仿UC MENU栏

    8. **样式自定义**:为了使TabMenu符合应用的整体风格,我们需要自定义其样式,包括字体颜色、背景色、选中状态的高亮效果等。这可以通过修改`style.xml`文件中的主题和样式定义来实现。 9. **手势库支持**:对于更...

    Android menu下拉菜单

    3. **下拉列表样式**:通过修改`Spinner`的`android:popupBackground`属性来改变下拉列表的背景颜色或图案。 四、DropMenu库 在描述中提到的"DropMenu"可能是开发者社区中一个特定的库或自定义实现,它可能提供了更...

    修改android标题栏

    - 修改背景颜色,可以在主题中设置`<item name="android:windowTitleBackgroundStyle">`或`<item name="android:actionBarBackground">`。 - 更改文字颜色,可以使用`setTitleTextColor()`方法,如`...

    Android程序研发源码Android 半透明Menu效果源码.zip

    1. **自定义布局**: 创建一个包含Menu项的布局文件,该布局的背景可以设置为半透明颜色,例如使用`android:background="@android:color/transparent"`或设置一个带有透明度的RGB颜色。 2. **扩展DialogFragment或...

    Android应用源码之CustomMenu_Android.zip

    通过修改主题或者使用`style`标签,开发者可以改变菜单的显示样式,包括字体颜色、背景色、分割线等。例如: ```xml <item name="android:popupMenuStyle">@style/PopupMenu <item name="android:...

    Android 半透明Menu效果源码.rar

    5. **主题和样式**:在Android应用中,可以通过修改应用程序的主题和样式来全局改变菜单的外观,包括其透明度。在`res/values/styles.xml`文件中,可以定义一个自定义主题,然后在`AndroidManifest.xml`中应用到特定...

    Android开发实现按钮点击切换背景并修改文字颜色的方法

    Android开发实现按钮点击切换背景并修改文字颜色的方法是一种常见的界面交互设计,主要涉及到Android界面布局和相关属性设置技巧。下面将详细介绍这种方法的实现过程。 首先,需要了解Android中的selector机制。...

    Android statusBar添加back,home,menu按钮

    在Android中,StatusBar的定制通常涉及到修改系统框架层的代码,这可能涉及到对AOSP(Android Open Source Project)源码的编译和修改。这通常需要开发者具有深厚的Android内核知识。 2. **添加按钮**: - **Back...

    Android 半透明Menu效果源码.zip源码资源下载

    这个“Android 半透明Menu效果源码”提供了一种实现方式,让开发者能够为应用程序添加半透明菜单,增加用户体验的趣味性和交互性。半透明菜单在许多现代应用中非常流行,因为它能够在不影响背景内容的前提下,提供...

    安卓Android源码——天天动听 半透明Menu效果.zip

    3. **半透明效果**:为了实现半透明效果,我们需要修改菜单的背景。可以在`onCreateOptionsMenu(Menu menu)`中,获取到菜单的View对象,然后设置其背景为半透明颜色,例如: ```java View menuView = findViewById...

    Android 任意角度 Expandable button menu

    "Android 任意角度 Expandable button menu" 是一个创新的设计,它允许菜单项在屏幕上的任何角度展开,为用户提供了一种新颖的交互方式。这个项目来源于GitHub上的开源库 —— ,由开发者uin3566创建。这个库的核心...

    透明menu菜单的实现

    透明Menu的第一步是修改应用的主题,使其背景变为透明。在`res/values/styles.xml`文件中,创建一个新的主题,并将`android:windowBackground`属性设置为透明色。例如: ```xml <item name="android:...

    Android源码——半透明Menu效果源码.zip

    透明度可以通过修改`Window`的背景属性来实现: ```java @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); ...

    Android 自定义菜单

    Android2.2版本中,如果你要修改菜单默认的背景颜色,网络上有许多的方法。在此就不说了。但是,如果要在2.2以上的版本修改菜单的样式,例如修改背景颜色,图片等,使用这些方法是没有任何作用的。因此自己写了一个...

Global site tag (gtag.js) - Google Analytics