如何更改MENU菜单内图标的大小以及背景颜色? 请问大家如何更改MENU菜单内图标的大小以及背景颜色.我的图标是32x32大小的,但放在menu菜单内显得很小,想改大点,该如何操作? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 标也可以通过setIcon()函数被添加到菜单项中 如何更改menu的背景颜色呢?默认按下去为橘黄色,我想改另外一个颜色,该如何改啊。 想到个方法,不知是否可行,截取click消息,往菜单上贴图,或者重写menu控件? 应该有设background color才对啊,重写控件这个太复杂了吧. <item android:id="@+id/sad" android:title="Sad" android:background="#22222222" android:icon="@drawable/stat_sad" /> 可以用自己定义的layout来作为菜单布局 其实我是想在按下时改变MENU的背景色,但以下设置没起到作用<item android:state_pressed="false" android:drawable="@drawable/icon_menu_stereo" android:background="#22222222"/> 真是。自己定义一个Bitmap放到Menu上不就行了么,各种状态下用不同的图片。。<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:drawable="@drawable/buttonbar_focused" /> <item android:state_pressed="true" android:drawable="@drawable/buttonbar_pressed" /> <item android:state_selected="true" android:drawable="@drawable/buttonbar_active" /> <item android:state_selected="false" android:drawable="@drawable/buttonbar_inactive" /></selector> 这只是改变了MENU的button imgae,并没有改变背景啊.这个和ImageButton不一样好象,ImageButton通过setBackgroundResource可以修改背景图片. 看看menu自己实现的有关布局的文件,不过感觉自己画一个更好看 我问一下楼主,怎样设置menu的大小呢,,用它显示的按钮感觉占屏幕有点大,我想设置小点,, 改变menu的颜色,可以这么实现,不知道是不是你要的结果:@Override public boolean onCreateOptionsMenu(Menu menu) { setMenuBackground(); return super.onCreateOptionsMenu(menu); }protected void setMenuBackground() { MenuDemo.this.getLayoutInflater().setFactory( new android.view.LayoutInflater.Factory() { @Override public View onCreateView(String name, Context context, AttributeSet attrs) { // 指定自定义inflate的对象 if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView") || name.equalsIgnoreCase("com.android.internal.view.menu.ListMenuItemView")) { try { LayoutInflater f = getLayoutInflater(); final View view = f.createView(name, null, attrs); new Handler().post(new Runnable() { public void run() { // 设置背景图片 view.setBackgroundResource(R.drawable.upcorners_shape); } }); return view; } catch (InflateException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } } return null; } }); } 点击弹出层如何避免点击到下面层 。 尖括号是什么意思? 安卓播放器在实现后台播放后再次登录能继续上次的操作 刚买的三星GT-S5660android机器用来开发遇到的问题,求大虾给出解决方法 在哪里能获得比较多的android的软件或结识做android的软件的人呢? android 运行出错 android平台下是否可以这样的一个屏保功能 要用到哪些功能和函数呢 怎样将ophone中的短信程序替换为自己的程序? 打开eclipse后有很多端口自动forward android的主按钮按下的消息是什么? 请问如何在代码里设置USB调试模式 monkey 测试
应该有设background color才对啊,重写控件这个太复杂了吧.
android:title="Sad"
android:background="#22222222"
android:icon="@drawable/stat_sad" />
<item android:state_pressed="false"
android:drawable="@drawable/icon_menu_stereo"
android:background="#22222222"/>
自己定义一个Bitmap放到Menu上不就行了么,各种状态下用不同的图片。。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_focused="true"
android:drawable="@drawable/buttonbar_focused" />
<item
android:state_pressed="true"
android:drawable="@drawable/buttonbar_pressed" />
<item
android:state_selected="true"
android:drawable="@drawable/buttonbar_active" />
<item
android:state_selected="false"
android:drawable="@drawable/buttonbar_inactive" />
</selector>
这只是改变了MENU的button imgae,并没有改变背景啊.这个和ImageButton不一样好象,ImageButton通过setBackgroundResource可以修改背景图片.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
setMenuBackground();
return super.onCreateOptionsMenu(menu);
}
protected void setMenuBackground() {
MenuDemo.this.getLayoutInflater().setFactory(
new android.view.LayoutInflater.Factory() {
@Override
public View onCreateView(String name, Context context,
AttributeSet attrs) {
// 指定自定义inflate的对象
if (name.equalsIgnoreCase("com.android.internal.view.menu.IconMenuItemView")
|| name.equalsIgnoreCase("com.android.internal.view.menu.ListMenuItemView")) {
try {
LayoutInflater f = getLayoutInflater();
final View view = f.createView(name, null,
attrs);
new Handler().post(new Runnable() {
public void run() {
// 设置背景图片
view.setBackgroundResource(R.drawable.upcorners_shape);
}
});
return view;
} catch (InflateException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
return null;
}
});
}