Fragment 中的 sherlock ActionBar 菜单不显示图标
Menu of sherlock ActionBar in Fragment not showing icon
任何人都可以帮助我解决图标在 sherlock Actionbar 中不显示的问题。我想显示如下菜单:图标标题。但是,我从类似问题的答案中尝试了很多方法,它仍然只显示菜单中的标题,没有图标。
这里是 xml 代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.my.tab">
<item
android:id="@+id/action_addphoto"
android:icon="@drawable/photo_icons"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Photo"
/>
<item
android:id="@+id/action_addvideo"
android:icon="@drawable/video_icons"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Video"
/>
<item
android:id="@+id/action_addtext"
android:icon="@drawable/text_icons"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Text"
/>
</menu>
片段中的代码如下:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
View view = inflater.inflate(R.layout.fragment_fragment_news_feed, null);
setOverflowShowingAlways();
dm = getResources().getDisplayMetrics();
ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
tabs = (PagerSlidingTabStrip) view.findViewById(R.id.tabs);
pager.setAdapter(new MyPagerAdapter(getActivity().getSupportFragmentManager()));
tabs.setViewPager(pager);
setTabsValue();
return view;
}
public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.myprofilesettinfs, menu);
}
谁能告诉我为什么?非常感谢 =)
我不使用 Sherlock,也不推荐它。
但是,我发现 Google 文档说您应该在 onCreateOptionsMenu
发生之前调用 setHasOptionsMenu(true)
。网页@onCreateOptionsMenu 。方法setHasOptionsMenu可以在OnCreate()中调用。
另一种,设置android:showAsAction="always"
OR "ifRoom"
.
可能图标格式不正确。对于故障排除,请尝试以 @android:drawable
开头的标准图标
任何人都可以帮助我解决图标在 sherlock Actionbar 中不显示的问题。我想显示如下菜单:图标标题。但是,我从类似问题的答案中尝试了很多方法,它仍然只显示菜单中的标题,没有图标。
这里是 xml 代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.my.tab">
<item
android:id="@+id/action_addphoto"
android:icon="@drawable/photo_icons"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Photo"
/>
<item
android:id="@+id/action_addvideo"
android:icon="@drawable/video_icons"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Video"
/>
<item
android:id="@+id/action_addtext"
android:icon="@drawable/text_icons"
android:orderInCategory="100"
android:showAsAction="never"
android:title="Text"
/>
</menu>
片段中的代码如下:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
setHasOptionsMenu(true);
View view = inflater.inflate(R.layout.fragment_fragment_news_feed, null);
setOverflowShowingAlways();
dm = getResources().getDisplayMetrics();
ViewPager pager = (ViewPager) view.findViewById(R.id.pager);
tabs = (PagerSlidingTabStrip) view.findViewById(R.id.tabs);
pager.setAdapter(new MyPagerAdapter(getActivity().getSupportFragmentManager()));
tabs.setViewPager(pager);
setTabsValue();
return view;
}
public void onCreateOptionsMenu (Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.myprofilesettinfs, menu);
}
谁能告诉我为什么?非常感谢 =)
我不使用 Sherlock,也不推荐它。
但是,我发现 Google 文档说您应该在
onCreateOptionsMenu
发生之前调用setHasOptionsMenu(true)
。网页@onCreateOptionsMenu 。方法setHasOptionsMenu可以在OnCreate()中调用。另一种,设置
android:showAsAction="always"
OR"ifRoom"
.可能图标格式不正确。对于故障排除,请尝试以 @android:drawable
开头的标准图标