Fixed visibility of MenuItems

Use custom namespace for "showAsAction" and "getMenuInflater" instead of "new MenuInflater"
This commit is contained in:
daniel oeh 2013-09-15 13:21:19 +02:00
parent 4a2a25a551
commit 813614bb28
14 changed files with 76 additions and 62 deletions

View File

@ -1,7 +1,16 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <menu xmlns:android="http://schemas.android.com/apk/res/android"
<item android:id="@+id/add_feed" android:icon="?attr/content_new" android:title="@string/add_new_feed_label" android:showAsAction="ifRoom"></item> xmlns:custom="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/visit_website_item" android:title="@string/visit_website_label" android:showAsAction="ifRoom" android:icon="?attr/location_web_site"></item> <item
android:id="@+id/add_feed"
android:icon="?attr/content_new"
android:title="@string/add_new_feed_label"
custom:showAsAction="ifRoom"/>
<item
android:id="@+id/visit_website_item"
android:title="@string/visit_website_label"
custom:showAsAction="ifRoom"
android:icon="?attr/location_web_site"/>
</menu> </menu>

View File

@ -1,7 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <menu xmlns:android="http://schemas.android.com/apk/res/android"
<item android:id="@+id/new_folder_item" android:title="@string/create_folder_label" android:showAsAction="ifRoom|withText"></item> xmlns:custom="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/set_to_default_folder_item" android:showAsAction="collapseActionView" android:title="@string/set_to_default_folder"></item> <item
android:id="@+id/new_folder_item"
android:title="@string/create_folder_label"
custom:showAsAction="ifRoom|withText"/>
<item
android:id="@+id/set_to_default_folder_item"
custom:showAsAction="collapseActionView"
android:title="@string/set_to_default_folder"/>
</menu> </menu>

View File

@ -1,26 +1,27 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/visit_website_item" android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site" android:icon="?attr/location_web_site"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/visit_website_label" android:title="@string/visit_website_label"
android:visible="true"> android:visible="true">
</item> </item>
<item <item
android:id="@+id/support_item" android:id="@+id/support_item"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/support_label" android:title="@string/support_label"
android:visible="false"> android:visible="false">
</item> </item>
<item <item
android:id="@+id/share_link_item" android:id="@+id/share_link_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/share_link_label"> android:title="@string/share_link_label">
</item> </item>
<item <item
android:id="@+id/share_source_item" android:id="@+id/share_source_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/share_source_label"> android:title="@string/share_source_label">
</item> </item>

View File

@ -1,75 +1,76 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/download_item" android:id="@+id/download_item"
android:icon="?attr/av_download" android:icon="?attr/av_download"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/download_label"> android:title="@string/download_label">
</item> </item>
<item <item
android:id="@+id/stream_item" android:id="@+id/stream_item"
android:icon="?attr/action_stream" android:icon="?attr/action_stream"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/stream_label"> android:title="@string/stream_label">
</item> </item>
<item <item
android:id="@+id/play_item" android:id="@+id/play_item"
android:icon="?attr/av_play" android:icon="?attr/av_play"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/play_label"> android:title="@string/play_label">
</item> </item>
<item <item
android:id="@+id/remove_item" android:id="@+id/remove_item"
android:icon="?attr/content_discard" android:icon="?attr/content_discard"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/remove_label"> android:title="@string/remove_label">
</item> </item>
<item <item
android:id="@id/skip_episode_item" android:id="@id/skip_episode_item"
android:title="@string/skip_episode_label" android:title="@string/skip_episode_label"
android:showAsAction="collapseActionView"> custom:showAsAction="collapseActionView">
</item> </item>
<item <item
android:id="@+id/cancel_download_item" android:id="@+id/cancel_download_item"
android:icon="?attr/navigation_cancel" android:icon="?attr/navigation_cancel"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/cancel_download_label"> android:title="@string/cancel_download_label">
</item> </item>
<item <item
android:id="@+id/mark_read_item" android:id="@+id/mark_read_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/mark_read_label"> android:title="@string/mark_read_label">
</item> </item>
<item <item
android:id="@+id/mark_unread_item" android:id="@+id/mark_unread_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/mark_unread_label"> android:title="@string/mark_unread_label">
</item> </item>
<item <item
android:id="@+id/add_to_queue_item" android:id="@+id/add_to_queue_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/add_to_queue_label"> android:title="@string/add_to_queue_label">
</item> </item>
<item <item
android:id="@+id/remove_from_queue_item" android:id="@+id/remove_from_queue_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/remove_from_queue_label"> android:title="@string/remove_from_queue_label">
</item> </item>
<item <item
android:id="@+id/share_link_item" android:id="@+id/share_link_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/share_link_label"> android:title="@string/share_link_label">
</item> </item>
<item <item
android:id="@+id/visit_website_item" android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site" android:icon="?attr/location_web_site"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/visit_website_label"> android:title="@string/visit_website_label">
</item> </item>
<item <item
android:id="@+id/support_item" android:id="@+id/support_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/support_label"> android:title="@string/support_label">
</item> </item>

View File

@ -1,40 +1,41 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/refresh_item" android:id="@+id/refresh_item"
android:icon="?attr/navigation_refresh" android:icon="?attr/navigation_refresh"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/refresh_label"> android:title="@string/refresh_label">
</item> </item>
<item <item
android:id="@+id/mark_all_read_item" android:id="@+id/mark_all_read_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/mark_all_read_label"> android:title="@string/mark_all_read_label">
</item> </item>
<item <item
android:id="@+id/show_info_item" android:id="@+id/show_info_item"
android:icon="?attr/action_about" android:icon="?attr/action_about"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/show_info_label"> android:title="@string/show_info_label">
</item> </item>
<item <item
android:id="@+id/remove_item" android:id="@+id/remove_item"
android:icon="?attr/content_discard" android:icon="?attr/content_discard"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/remove_feed_label" android:title="@string/remove_feed_label"
android:visible="true"> android:visible="true">
</item> </item>
<item <item
android:id="@+id/visit_website_item" android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site" android:icon="?attr/location_web_site"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/visit_website_label" android:title="@string/visit_website_label"
android:visible="true"> android:visible="true">
</item> </item>
<item <item
android:id="@+id/support_item" android:id="@+id/support_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/support_label" android:title="@string/support_label"
android:visible="false"> android:visible="false">
</item> </item>

View File

@ -1,45 +1,44 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/all_feed_refresh" android:id="@+id/all_feed_refresh"
android:title="@string/refresh_label" android:title="@string/refresh_label"
android:icon="?attr/navigation_refresh" android:icon="?attr/navigation_refresh"
android:showAsAction="ifRoom|collapseActionView"> custom:showAsAction="ifRoom|collapseActionView">
</item> </item>
<item <item
android:id="@+id/add_feed" android:id="@+id/add_feed"
android:title="@string/add_feed_label" android:title="@string/add_feed_label"
android:icon="?attr/content_new" android:icon="?attr/content_new"
android:showAsAction="ifRoom|collapseActionView"> custom:showAsAction="ifRoom|collapseActionView">
</item> </item>
<item <item
android:id="@id/search_item" android:id="@id/search_item"
android:icon="?attr/action_search" android:icon="?attr/action_search"
android:title="@string/search_label" android:title="@string/search_label"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.support.v7.widget.SearchView"/> android:actionViewClass="android.support.v7.widget.SearchView"/>
<item <item
android:id="@+id/show_player" android:id="@+id/show_player"
android:title="@string/show_player_label" android:title="@string/show_player_label"
android:icon="@drawable/av_play" android:icon="@drawable/av_play"
android:showAsAction="collapseActionView"/> custom:showAsAction="collapseActionView"/>
<item <item
android:id="@+id/show_playback_history" android:id="@+id/show_playback_history"
android:title="@string/playback_history_label" android:title="@string/playback_history_label"
android:showAsAction="collapseActionView"/> custom:showAsAction="collapseActionView"/>
<item <item
android:id="@+id/show_downloads" android:id="@+id/show_downloads"
android:title="@string/downloads_label" android:title="@string/downloads_label"
android:icon="@drawable/av_download" android:icon="@drawable/av_download"
android:showAsAction="collapseActionView"> custom:showAsAction="collapseActionView">
</item> </item>
<item <item
android:id="@+id/show_preferences" android:id="@+id/show_preferences"
android:title="@string/settings_label" android:title="@string/settings_label"
android:icon="?attr/action_settings" android:icon="?attr/action_settings"
android:showAsAction="collapseActionView"/> custom:showAsAction="collapseActionView"/>
</menu> </menu>

View File

@ -1,38 +1,39 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto">
<item <item
android:id="@+id/disable_sleeptimer_item" android:id="@+id/disable_sleeptimer_item"
android:icon="?attr/device_access_time" android:icon="?attr/device_access_time"
android:showAsAction="always" custom:showAsAction="always"
android:title="@string/sleep_timer_label"> android:title="@string/sleep_timer_label">
</item> </item>
<item <item
android:id="@+id/set_sleeptimer_item" android:id="@+id/set_sleeptimer_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/set_sleeptimer_label"> android:title="@string/set_sleeptimer_label">
</item> </item>
<item <item
android:id="@+id/share_link_item" android:id="@+id/share_link_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/share_link_label"> android:title="@string/share_link_label">
</item> </item>
<item <item
android:id="@+id/visit_website_item" android:id="@+id/visit_website_item"
android:icon="?attr/location_web_site" android:icon="?attr/location_web_site"
android:showAsAction="ifRoom|collapseActionView" custom:showAsAction="ifRoom|collapseActionView"
android:title="@string/visit_website_label" android:title="@string/visit_website_label"
android:visible="false"> android:visible="false">
</item> </item>
<item <item
android:id="@+id/support_item" android:id="@+id/support_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/support_label" android:title="@string/support_label"
android:visible="false"> android:visible="false">
</item> </item>
<item <item
android:id="@id/skip_episode_item" android:id="@id/skip_episode_item"
android:showAsAction="collapseActionView" custom:showAsAction="collapseActionView"
android:title="@string/skip_episode_label" android:title="@string/skip_episode_label"
android:visible="true"/> android:visible="true"/>

View File

@ -287,7 +287,7 @@ public class DirectoryChooserActivity extends ActionBarActivity {
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.directory_chooser, menu); inflater.inflate(R.menu.directory_chooser, menu);
return true; return true;
} }

View File

@ -96,7 +96,7 @@ public class FeedInfoActivity extends ActionBarActivity {
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
if (feed != null) { if (feed != null) {
MenuInflater inflater = new MenuInflater(this); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.feedinfo, menu); inflater.inflate(R.menu.feedinfo, menu);
return true; return true;
} else { } else {

View File

@ -131,7 +131,7 @@ public class FeedItemlistActivity extends ActionBarActivity {
searchView.setSearchableInfo( searchView.setSearchableInfo(
searchManager.getSearchableInfo(getComponentName())); searchManager.getSearchableInfo(getComponentName()));
return FeedMenuHandler return FeedMenuHandler
.onCreateOptionsMenu(new MenuInflater(this), menu); .onCreateOptionsMenu(getMenuInflater(), menu);
} else { } else {
return false; return false;
} }

View File

@ -128,11 +128,6 @@ public class ItemviewActivity extends ActionBarActivity {
if (item != null) { if (item != null) {
MenuInflater inflater = getMenuInflater(); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.feeditem, menu); inflater.inflate(R.menu.feeditem, menu);
// MenuItem visibility has to be set programmatically here; TODO remove this workaround
MenuItemCompat.setShowAsAction(menu.findItem(R.id.download_item), MenuItemCompat.SHOW_AS_ACTION_IF_ROOM | MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
MenuItemCompat.setShowAsAction(menu.findItem(R.id.stream_item), MenuItemCompat.SHOW_AS_ACTION_IF_ROOM | MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
MenuItemCompat.setShowAsAction(menu.findItem(R.id.play_item), MenuItemCompat.SHOW_AS_ACTION_IF_ROOM | MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
MenuItemCompat.setShowAsAction(menu.findItem(R.id.cancel_download_item), MenuItemCompat.SHOW_AS_ACTION_IF_ROOM | MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
return true; return true;
} else { } else {
return false; return false;

View File

@ -178,7 +178,7 @@ public class MainActivity extends ActionBarActivity {
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu); inflater.inflate(R.menu.main, menu);
SearchManager searchManager = SearchManager searchManager =

View File

@ -222,7 +222,7 @@ public abstract class MediaplayerActivity extends ActionBarActivity
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.mediaplayer, menu); inflater.inflate(R.menu.mediaplayer, menu);
return true; return true;
} }

View File

@ -132,7 +132,7 @@ public class MiroGuideChannelViewActivity extends ActionBarActivity {
@Override @Override
public boolean onCreateOptionsMenu(Menu menu) { public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = new MenuInflater(this); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.channelview, menu); inflater.inflate(R.menu.channelview, menu);
return true; return true;
} }