Re: [問題] menu展開overflow要顯示imageIcon

作者: howdye (\@o@/)   2016-03-30 18:51:54
hi overflow內的選單要顯示icon的確有點麻煩
我這邊實作的方法如下,透過把文字轉成圖的方式,將文字選項插入圖
實作請見下列程式碼,如要參考呈現的結果請見下列APP位置
///////////////APP的參考執行畫面 ( 偷渡廣告 XD )///////////////////////
小電視
https://play.google.com/store/apps/details?id=com.ctappstudio.ytfind
小電視APP搜集整理YouTube上的免費電視直播及影片,並提供影音搜尋功能,
供用戶方便觀賞YouTube上的電視節目。
目前提供下列功能:1.新聞直播 2.熱門節目 3.影片搜尋
//////////////程式碼//////////////////////////
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
for (int i = 0; i < menu.size(); i++) {
if (menu.getItem(i).getTitle().toString().contains("● APP推薦")) {
Drawable myIcon =
this.getResources().getDrawable(R.drawable.ic_menu_upvote);
SpannableStringBuilder builder = new
SpannableStringBuilder(menu.getItem(i).getTitle().toString());
myIcon.setBounds(0, 0, DPPixels(20), DPPixels(20));
builder.setSpan(new ImageSpan(myIcon, ImageSpan.ALIGN_BOTTOM), 0, 1,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
menu.getItem(i).setTitle(builder);
}
}
return true;
}
※ 引述《mogo (moto)》之銘言:
: 有點苦惱想不出原因來版上請教
: 查詢相關資料知道Google官方不支援overflow讓你顯示圖片,因為他們認為不需要
: 但還是有其他方法可以嘗試,比方說用fragment展開,或用popupwindow
: 以上大概是我所知道的
: 只是用相關關鍵字查詢會看到對岸的人分享的一個reflection的概念(剛好我不是很懂)
: 只是因為程式碼也不長,我也就跟著複製下來貼在我測試的MainActivity底下
: 模擬下來一點效果也沒有,看網路上的人留言也沒人反映這個問題
: 想詢問版友有人用過這方法嗎? 你們試的話也ok嗎?
: (我的menu xml裡的item確定有setIcon)
: 程式碼不長,我就貼上在這邊
: 再麻煩版友指教,謝謝
: @Override
: public boolean onMenuOpened(int featureId, Menu menu) {
: if (featureId == Window.FEATURE_ACTION_BAR && menu != null) {
: if (menu.getClass().getSimpleName().equals("MenuBuilder")) {
: try {
: Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
: m.setAccessible(true);
: m.invoke(menu, true);
: } catch (Exception e) {
: }
: }
: }
: return super.onMenuOpened(featureId, menu);
: }
作者: mogo (moto)   2016-03-30 19:41:00
大感謝! 我回去試試看h大你不用viewPger滑動標籤頁嗎? (可惡 已下載)
作者: howdye (\@o@/)   2016-03-30 19:54:00
APP剛上架沒幾天 功能還在陸續修改中 XD
作者: givemepass (λ)   2016-03-30 21:53:00
我是用Dialog模擬MENU 然後擺在右上 就可以客製化
作者: mogo (moto)   2016-03-31 02:30:00
研究了一下,你們的我都用不出來 = = 最後在submenu上找到改天再努力鑽研你們提供的方法試試看

Links booklink

Contact Us: admin [ a t ] ucptt.com