
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中就可以了。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)