2013-11-27 40 views
0

我有一個自定義視圖,我想將其顯示爲一個操作按鈕。菜單項目被定義爲:menuitem - setActionView()佔用整個操作欄

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

在我的onCreateOptionsMenu(),我膨脹的工具欄,並獲得我的菜單項:

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

我看到我的自定義視圖正在繪製。但是,它幾乎佔用了整個操作欄的寬度。它似乎忽略我的佈局參數設置。

我想知道如果有人能幫我解決這個問題。預先感謝您的幫助。

回答

0

這是什麼工作:

它似乎LayoutParams對MenuItem沒有影響。但是,由於CustomView在我們的控制之中,因此您可以在CustomView上覆蓋onMeasure()並返回適當的大小。