让Toolbar显示大小不同的ICONs

转载 2006年06月23日 13:53:00

It's said in MSDN that:“Microsoft Windows assumes that all of a toolbar's bitmapped images are the same size. ” So the question is : How can we implement a toolbar with different sized images, which is just like as Google Toolbar?


There are two ways:

1.To use double ImageLists

You should note that the image's size of the toolbar is decided by the first ImageList, even though the second one is different from the first one. So after registering double ImageLists, you also have to reset the button's size to suit the second imagelist.
This is the code segment:

a. setting double imagelist
    //1st ImageList, with normal images
    m_hImage1st = ImageList_Create(1616, ILC_COLOR24, 10);
    
int nIdx11 = ImageList_Add(m_hImageFirst,,NULL);
    
int nIdx12 =  ImageList_Add(m_hImageFirst,,NULL);

        
//2nd ImageList, with bigger image
    m_hImage2nd = ImageList_Create(4816, ILC_COLOR24, 20);
    
int nIdx21 =ImageList_Add(m_hImage2nd ,,NULL);

    
// add imagelists, the order is very important
    ::SendMessage(m_hWnd, CCM_SETVERSION, (WPARAM) 50);
    ::SendMessage(m_hWnd, TB_SETIMAGELIST, 
0, (LPARAM)m_hImage1st);
    ::SendMessage(m_hWnd, TB_SETIMAGELIST, 
1, (LPARAM)m_hImage2nd);

    
// set button image
    pTBBtn[0].iBitmap = MAKELONG(nIdx21, 1);
    pTBBtn[
1].iBitmap = MAKELONG(nIdx11, 0);
    pTBBtn[
2].iBitmap = MAKELONG(nIdx12, 0);

b. resize the button with bigger image
    TBBUTTONINFO tbi;            
    tbi.cbSize 
= sizeof(TBBUTTONINFO);
    tbi.dwMask 
= TBIF_STYLE | TBIF_SIZE;
    tbi.fsStyle 
= pTBBtn[0].fsStyle;
    tbi.cx 
= 48;
        ::SendMessage(m_hWnd, TB_SETBUTTONINFO, nID, (LPARAM)
&tbi);

And now,  the first button of the toolbar has different sized image from others.

2. To use Rebar control

A rebar control may have many toolbars, so you can create two toolbars with different sized imagelist.(See MSDN.). But we can only create one toolbar in WTL by default, so it's a little complex to implement using WTL in this method. You can try this in MFC.

仿知乎程序(二)fragment的切换以及toolbar在不同页面下显示的menu不同

上一篇我们已经把首页的一个基本框架搭起来了,今天我们继续我们的工作,左侧侧滑菜单已经有了,我们就为它加载上相应的页面吧。我们在看知乎的时候,你会发现,首页,发现,关注,收藏,草稿这五项,你在点击之后进...
  • Liuqz2009
  • Liuqz2009
  • 2017年04月19日 17:21
  • 177

关于Toolbar的折腾(结合Fragment使用)

Toolbar 是谷歌推出在 android 5.0 版本以后取代 ActionBar 的一个东西 先说我折腾的环境: 我用的是android Studio 2.0 如果你的app 是在acti...
  • u013984533
  • u013984533
  • 2016年06月06日 17:19
  • 8630

Android的TextView中显示不同大小字体的玩法

方法一、用Spannable类设置字体大小,背景颜色,字体颜色等。 方法二、用html文本格式化的方法。 设置TextView文本的背光色,以及羽化值和xy方向的偏移量。...
  • Qyuewei
  • Qyuewei
  • 2015年12月16日 14:09
  • 871

[Android]ToolBar使用详解(一)——项目配置

ToolBar是替代ActionBar的控件。
  • qq284565035
  • qq284565035
  • 2015年07月27日 16:46
  • 17633

ToolBar的使用

1、ToolBar的介绍ToolBar基本上继承了ActionBar的风格,使用ToolBar可以简单的实现导航的效果,但toolbar有一此配置比较麻烦,特别是自定义的时候遇到的问题很多 从api...
  • androidxiaogang
  • androidxiaogang
  • 2016年06月14日 21:40
  • 3251

解决 Toolbar 的 Menu 图标无法显示的问题

是什么给 Toolbar 设置 Menu 的按钮:main_menu.xml
  • heshiweij
  • heshiweij
  • 2016年04月19日 14:50
  • 6530

Android的Toolbar(含溢出菜单设置[弹出菜单的使用])的使用PopMenu的样式

工作内容: Toolbar(含溢出菜单设置[弹出菜单的使用])的使用 学习分享: Toolbar的使用前提:设置主题 name="AppTheme" parent="Theme.AppCo...
  • zahuopuboss
  • zahuopuboss
  • 2017年03月23日 11:18
  • 1719

Bootstrap Table使用整理(四)-工具栏

一、启用默认支持的工具栏 /* * data-search 是否显示搜索框 * data-show-refresh 是否像是刷新按钮,注:刷新操作会重新请求数据,并带着请求参数 * data-sho...
  • u011127019
  • u011127019
  • 2017年06月08日 18:48
  • 3577

ToolBar修改返回按钮图标

使用Toolbar时,有时因为不同的手机设备,不能使用系统默认的主题样式或者图标,必须指定特定的资源,防止APP在不同设备上的效果不一样! 我在使用Toolbar时,把这个布局作为一个公共的了,所以...
  • zouchengxufei
  • zouchengxufei
  • 2016年04月20日 13:04
  • 16229

ToolBar 修改菜单字体和颜色

转自:http://blog.csdn.net/u010331406/article/details/50497539 ToolBar基本使用 关于ToolBar的使用...
  • qq_34206198
  • qq_34206198
  • 2016年10月13日 00:55
  • 407
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:让Toolbar显示大小不同的ICONs
举报原因:
原因补充:

(最多只允许输入30个字)