menuitem - setActionView()占用整个操作栏

时间:2013-11-27 04:06:17

标签: android

我有一个自定义视图,我想将其显示为操作按钮。菜单项定义为:

 <item 
    android:id="@+id/myBtn"
    android:icon="@drawable/myicon"
    android:showAsAction="ifRoom" />

在我的onCreateOptionsMenu()中,我给工具栏充气并获取我的menuitem:

MenuItem item = menu.findItem(...);
CustomView view = new CustomView(ctx);
ActionBar.LayoutParams lp = new ActionBar.LayoutParams(32, 32);
view.setLayoutParams(lp);
item.setActionView(view);

我确实看到我的自定义视图已被绘制。但是,它几乎占据了操作栏的整个宽度。它似乎忽略了我的布局参数设置。

我想知道是否有人可以帮我解决这个问题。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这是有效的:

看起来LayoutParams对MenuItem没有影响。但是,由于CustomView在我们的控制之下,您可以覆盖CustomView上的onMeasure()并返回适当的大小。