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