在我的 android 应用程序中,我希望我的选项菜单有一个白色背景,以便我的图标显示得更好,我已经看到很多应用程序都有这个,但我无法弄清楚如何完成这个。
问问题
4182 次
2 回答
1
他的链接中的答案可能会对您有所帮助。该站点以多种方式为您提供答案,例如在您的菜单项中使用 android:state_pressed=true 和其他选项(已选择、已聚焦)将以白色显示您的项目背景。
于 2012-01-19T13:49:46.807 回答
1
我根本不喜欢标准选项菜单,这就是为什么我总是使用ViewStubs创建自定义菜单。只需在您设计菜单栏的地方创建一个新布局,将其与布局文件中的 ViewStub 集成,然后让菜单滑入。
示例java代码:
public boolean onKeyDown( int keyCode, KeyEvent event ) {
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
mMenuPanel = ( ( ViewStub ) findViewById( R.id.stub_onoption ) ).inflate();
// initialize buttons of your menu layout and define setOnClickListener()
if( !menuVisible ) {
constants.showPanel( this, mMenuPanel, true );
menuVisible = true;
} else {
constants.hidePanel( this, mMenuPanel, true );
menuVisible = false;
}
return true;
default:
break;
}
}
public static void hidePanel( Context context, View panel, boolean slideDown ) {
panel.startAnimation( AnimationUtils.loadAnimation( context, slideDown ? R.anim.slide_out : R.anim.slide_in_top ) );
panel.setVisibility( View.GONE );
}
public static void showPanel( Context context, View panel, boolean slideUp ) {
panel.startAnimation( AnimationUtils.loadAnimation( context, slideUp ? R.anim.slide_in : R.anim.slide_out_top ) );
panel.setVisibility( View.VISIBLE );
}
这样您就可以完全自定义菜单栏(背景按钮等)
编辑:这只是一个粗略的想法。如果你是第一次这样做,它可能只是为了改变背景颜色有点超重,但你以后可以在各种场合使用这个概念,比如不同的幻灯片效果,根据调整菜单设计到您的应用程序设计、更改位置、大小等等。此外,这种概念还可用于可选的搜索栏或应用内通知(如果您不想使用对话框)。所以它绝对值得研究。
于 2012-01-19T13:50:36.410 回答