下面列出了android.view.MenuItem#setShowAsActionFlags ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
MenuItem refresh = menu.add("Refresh");
refresh.setIcon(R.drawable.ic_refresh_white_24dp);
refresh.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
refresh.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
// Prevent repeated refresh requests
if (swipeRefreshLayout.isRefreshing())
return false;
videosList.clear();
checkPermission();
Log.d(Const.TAG, "Refreshing");
return false;
}
});
}
private void setupSearchView(MenuItem searchItem) {
if (isAlwaysExpanded()) {
mSearchView.setIconifiedByDefault(false);
} else {
searchItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM
| MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
}
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
if (searchManager != null) {
List<SearchableInfo> searchables = searchManager.getSearchablesInGlobalSearch();
// Try to use the "applications" global search provider
SearchableInfo info = searchManager.getSearchableInfo(getComponentName());
for (SearchableInfo inf : searchables) {
if (inf.getSuggestAuthority() != null
&& inf.getSuggestAuthority().startsWith("applications")) {
info = inf;
}
}
mSearchView.setSearchableInfo(info);
}
mSearchView.setOnQueryTextListener(this);
}
@Override
public void onPrepareOptionsMenu(Menu menu)
{
super.onPrepareOptionsMenu(menu);
if (unreadCount > 0 && menu.findItem(R.id.menu_dismiss) == null)
{
MenuItem item = menu.add(Menu.NONE, R.id.menu_dismiss, 1, "Dismiss");
item.setIcon(AttrUtil.getResourceId(getActivity(), R.attr.dismissNotificationsIcon));
item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
Log.d("MainActivity", "onCreateOptionsMenu: ");
if (loggedIn)
{
boolean shouldAddMenuItem = false;
if (KlyphDevice.isPortraitMode())
shouldAddMenuItem = slidingPane.isOpen();
else
shouldAddMenuItem = selectionFragment != null && !selectionFragment.isVisible();
if (shouldAddMenuItem)
{
MenuItem item = menu.add(Menu.NONE, R.id.menu_add, Menu.NONE, R.string.menu_new_conversation);
item.setIcon(AttrUtil.getResourceId(this, R.attr.addIcon));
item.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
if (menu.findItem(R.id.menu_faq) == null)
{
menu.add(Menu.NONE, R.id.menu_faq, Menu.NONE, R.string.menu_faq).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
}
if (menu.findItem(R.id.menu_buy_pro) == null && MessengerApplication.PRO_VERSION_CHECKED && !MessengerApplication.IS_PRO_VERSION)
{
menu.add(Menu.NONE, R.id.menu_buy_pro, Menu.NONE, R.string.menu_buy_pro).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
}
}
return super.onCreateOptionsMenu(menu);
}
private void addSearchOnPageItem(Menu menu) {
toolbar.inflateMenu(R.menu.theme_search_menu);
MenuItem searchOnPageMenuItem = menu.findItem(R.id.action_search);
searchOnPageMenuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
SearchView searchView = (SearchView) searchOnPageMenuItem.getActionView();
searchView.setTag(searchViewTag);
searchView.setOnSearchClickListener(v -> {
if (searchView.getTag().equals(searchViewTag)) {
ImageView searchClose = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
if (searchClose != null)
((ViewGroup) searchClose.getParent()).removeView(searchClose);
ViewGroup.LayoutParams navButtonsParams = new ViewGroup.LayoutParams(App.px48, App.px48);
TypedValue outValue = new TypedValue();
getContext().getTheme().resolveAttribute(android.R.attr.actionBarItemBackground, outValue, true);
AppCompatImageButton btnNext = new AppCompatImageButton(searchView.getContext());
btnNext.setImageDrawable(App.getVecDrawable(getContext(), R.drawable.ic_toolbar_search_next));
btnNext.setBackgroundResource(outValue.resourceId);
AppCompatImageButton btnPrev = new AppCompatImageButton(searchView.getContext());
btnPrev.setImageDrawable(App.getVecDrawable(getContext(), R.drawable.ic_toolbar_search_prev));
btnPrev.setBackgroundResource(outValue.resourceId);
((LinearLayout) searchView.getChildAt(0)).addView(btnPrev, navButtonsParams);
((LinearLayout) searchView.getChildAt(0)).addView(btnNext, navButtonsParams);
btnNext.setOnClickListener(v1 -> findNext(true));
btnPrev.setOnClickListener(v1 -> findNext(false));
searchViewTag++;
}
});
SearchManager searchManager = (SearchManager) getMainActivity().getSystemService(Context.SEARCH_SERVICE);
if (null != searchManager) {
searchView.setSearchableInfo(searchManager.getSearchableInfo(getMainActivity().getComponentName()));
}
searchView.setIconifiedByDefault(true);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
findText(newText);
return false;
}
});
}
private void addSearchOnPageItem(Menu menu) {
toolbar.inflateMenu(R.menu.theme_search_menu);
MenuItem searchOnPageMenuItem = menu.findItem(R.id.action_search);
searchOnPageMenuItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
/*MenuItemCompat.setOnActionExpandListener(searchOnPageMenuItem, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
toggleMessagePanelItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
toggleMessagePanelItem.setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_NEVER);
return true;
}
});*/
SearchView searchView = (SearchView) searchOnPageMenuItem.getActionView();
searchView.setTag(searchViewTag);
searchView.setOnSearchClickListener(v -> {
if (searchView.getTag().equals(searchViewTag)) {
ImageView searchClose = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
if (searchClose != null)
((ViewGroup) searchClose.getParent()).removeView(searchClose);
ViewGroup.LayoutParams navButtonsParams = new ViewGroup.LayoutParams(App.px48, App.px48);
TypedValue outValue = new TypedValue();
getContext().getTheme().resolveAttribute(android.R.attr.actionBarItemBackground, outValue, true);
AppCompatImageButton btnNext = new AppCompatImageButton(searchView.getContext());
btnNext.setImageDrawable(App.getVecDrawable(getContext(), R.drawable.ic_toolbar_search_next));
btnNext.setBackgroundResource(outValue.resourceId);
AppCompatImageButton btnPrev = new AppCompatImageButton(searchView.getContext());
btnPrev.setImageDrawable(App.getVecDrawable(getContext(), R.drawable.ic_toolbar_search_prev));
btnPrev.setBackgroundResource(outValue.resourceId);
((LinearLayout) searchView.getChildAt(0)).addView(btnPrev, navButtonsParams);
((LinearLayout) searchView.getChildAt(0)).addView(btnNext, navButtonsParams);
btnNext.setOnClickListener(v1 -> findNext(true));
btnPrev.setOnClickListener(v1 -> findNext(false));
searchViewTag++;
}
});
SearchManager searchManager = (SearchManager) getMainActivity().getSystemService(Context.SEARCH_SERVICE);
if (null != searchManager) {
searchView.setSearchableInfo(searchManager.getSearchableInfo(getMainActivity().getComponentName()));
}
searchView.setIconifiedByDefault(true);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
findText(newText);
return false;
}
});
}