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;
}
});
}
Android 修改Menu背景
最新推荐文章于 2024-05-03 10:12:33 发布
本文介绍了一种在Android应用中自定义菜单背景的方法。通过重写LayoutInflater.Factory并利用Handler来延迟设置自定义背景,实现了对菜单项视图背景的个性化定制。
442

被折叠的 条评论
为什么被折叠?



