2012-05-30 108 views
1

我想在我的ListActivity上放置一個ContextMenu,當用戶單擊任何列表項時,它會顯示幾個子類別。不要打擾告訴我其他選擇(ExpandableList,RadioButton等)。ContextMenu文本溢出

如何獲得全文顯示,而不是被截斷?這裏是我正在填充文本菜單:

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo); 

     //Fill context menu with appropriate subcategory 
     menu.setHeaderTitle("Categories"); 
     for(String item : menuItem) 
     { 
      menu.add(0, v.getId(), menu.size()+1, item); 
     } 
    } 

注意,菜單項是一個簡單的String []數組

這是我的ContextMenu。 ContextMenu 我覺得自己像個白癡沒有足夠的聲望來發布圖片。

回答

0

我知道的唯一方法是從XML創建菜單,而不僅僅是在代碼中,並更改文本大小以便所有文本都適合。我環顧四周,發現沒有任何信息可以改變程序生成菜單的文本大小。

有關從XML創建上下文菜單的文檔是here

0

我遇到了類似的問題;不過,我正在使用菜單資源xml,而不是通過代碼設置標題。

對於標題將被截斷的情況,菜單項可以同時包含標題和「android:titleCondensed」。

從我所知道的情況來看,如果您需要更多的自定義行爲,您需要指定自己的佈局資源來描述比標準Android菜單資源提供的更復雜的行爲。基本上你可以用你自己的方式覆蓋默認佈局。

如果你是編程設置字符串來實現在不同的時間不同的項目上下文菜單,你可以考慮指定標題和凝結職稱的XML菜單資源,則在onCreateContextMenu,你可以添加邏輯來調用「setMenuItemVisibility」爲每個項目篩選出您不希望在任何給定時間顯示的項目。

+0

我忽略了對Android菜單資源的引用:[Android菜單資源](https://developer.android.com/guide/topics/resources/menu-resource.html) – bduhbya