fragment 中怎么设置toolbar的menu

fragment 中怎么设置toolbar的menu,第1张

放两个panel 在窗体上,都设置属性Dock 为 top , menu 放在上面panel里,toolbar放在下面的panel

Android Menu的文字有两种设置方式:

在 menu.xml中设置。

在java代码onCreateOptionsMenu中设置。

以下为示例代码:

在menu.xml中指定title即可

<item android:id="@+id/menu"

android:title="文字"/>

重载onCreateOptionsMenu(Menu menu)方法,并调用API。

menu.add((int groupId, int itemId, int order, charsequence title) .setIcon(drawable ID)

add()方法的四个参数,依次是:

1、组别,如果不分组的话就写Menu.NONE。

2、Id,这个很重要,Android根据这个Id来确定不同的菜单 。

3、顺序,哪个菜单项在前面由这个参数的大小决定 。

4、文本,菜单项的显示文本。

你好!

最近开发的一个应用,使用SlidingMenu作为侧边菜单,主要内容全部使用Fragment,并且使用FragmentManager管理。

我在其中一个Fragment中使用了一个ViewPager,每个ViewPager中亦是一个Fragment。形成一个嵌套。

今天碰到一个问题,我要给ViewPager所在的Fragment应用一个主题theme,因为这个Fragment使用了ViewpagerIndicator,我要给其中的TabPageIndicator定制我想要的外观。而看了Demo之后,发现最简单的定制外观的方式就是通过Theme。但是Fragment不是Activity,无法直接在AndroidManifest.xml中写theme,于是在网上苦找Fragment应用Theme的方法,最后终于让我找到了,关键代码是这样的:

Java

//使用ContextThemeWrapper通过目标Theme生成一个新的Context

Context ctxWithTheme = new ContextThemeWrapper(

getActivity().getApplicationContext(),

R.style.Theme_PageIndicatorDefaults)

//通过生成的Context创建一个LayoutInflater

LayoutInflater localLayoutInflater = inflater.cloneInContext(ctxWithTheme)

//使用生成的LayoutInflater创建View

ViewGroup rootView = (ViewGroup)localLayoutInflater.inflate(

R.layout.fragment_programs_center, null, false)

得到的rootView就是所需要的View了,这段代码放在onCreateView中就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7977641.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存