下面列出了android.support.v4.view.MenuItemCompat#setActionView ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (mApp != null && DEBUG) Log.d(TAG, "SearchDetailsActivity.onPrepareOptionsMenu: Setting items visibility");
if (refreshItem != null) {
if (mSearch != null && (mSearch.mSearchStatus== ECSearchStatus.STARTING || mSearch.mSearchStatus == ECSearchStatus.RUNNING)) {
if (mIsProgressShown) {
MenuItemCompat.setActionView(refreshItem, R.layout.part_refresh_progress);
//refreshItem.setActionView(R.layout.part_refresh_progress);
} else {
MenuItemCompat.setActionView(refreshItem, null);
//refreshItem.setActionView(null);
}
refreshItem.setVisible(true);
} else {
refreshItem.setVisible(false);
}
}
if (mApp != null && DEBUG) Log.d(TAG, "SearchDetailsActivity.onPrepareOptionsMenu: calling super");
boolean superRet = super.onPrepareOptionsMenu(menu);
if (mApp != null && DEBUG) Log.d(TAG, "SearchDetailsActivity.onPrepareOptionsMenu: super returned " + superRet + " - end");
return superRet;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (mApp != null && DEBUG) Log.d(TAG, "SearchActivity.onPrepareOptionsMenu: Setting items visibility");
if (refreshItem != null) {
if (lastSearch != null && (lastSearch.mSearchStatus == ECSearchStatus.STARTING || lastSearch.mSearchStatus == ECSearchStatus.RUNNING)) {
if (mIsProgressShown) {
MenuItemCompat.setActionView(refreshItem, R.layout.part_refresh_progress);
//refreshItem.setActionView(R.layout.part_refresh_progress);
} else {
MenuItemCompat.setActionView(refreshItem, null);
//refreshItem.setActionView(null);
}
refreshItem.setVisible(true);
} else {
refreshItem.setVisible(false);
}
}
if (mApp != null && DEBUG) Log.d(TAG, "SearchActivity.onPrepareOptionsMenu: calling super");
boolean superRet = super.onPrepareOptionsMenu(menu);
if (mApp != null && DEBUG) Log.d(TAG, "SearchActivity.onPrepareOptionsMenu: super returned " + superRet + " - end");
return superRet;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (mApp != null && DEBUG) Log.d(TAG, "DlQueueActivity.onPrepareOptionsMenu: Setting items visibility");
if (refreshItem != null) {
refreshItem.setVisible(mServerConfigured);
if (mIsProgressShown) {
MenuItemCompat.setActionView(refreshItem, R.layout.part_refresh_progress);
} else {
MenuItemCompat.setActionView(refreshItem, null);
}
}
addEd2kItem.setVisible(mServerConfigured);
if (mApp != null) {
if (debugOptionsItem != null) debugOptionsItem.setVisible(DEBUG);
}
if (mApp != null && DEBUG) Log.d(TAG, "DlQueueActivity.onPrepareOptionsMenu: calling super");
boolean superRet = super.onPrepareOptionsMenu(menu);
if (mApp != null && DEBUG) Log.d(TAG, "DlQueueActivity.onPrepareOptionsMenu: super returned " + superRet + " - end");
return superRet;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem refreshItem = menu.findItem(R.id.menu_detail_opt_refresh);
if (refreshItem != null) {
if (mIsProgressShown) {
MenuItemCompat.setActionView(refreshItem, R.layout.part_refresh_progress);
//refreshItem.setActionView(R.layout.part_refresh_progress);
} else {
MenuItemCompat.setActionView(refreshItem, null);
//refreshItem.setActionView(null);
}
}
return super.onPrepareOptionsMenu(menu);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.task_list_menu, menu);
final MenuItem item = menu.findItem(R.id.action_search);
final ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
if (null != actionBar) {
final SearchView searchView = new SearchView(actionBar.getThemedContext());
MenuItemCompat.setActionView(item, searchView);
searchView.setOnQueryTextListener(this);
searchView.setIconifiedByDefault(false);
searchView.setOnSearchClickListener(v -> newTaskButton.hide());
searchView.setOnCloseListener(this::onClose);
MenuItemCompat.setOnActionExpandListener(item, this);
}
if (isPresenterAvailable()) {
Long count = getPresenter().getTasksCount();
menu.findItem(R.id.action_delete_all).setEnabled(count != 0);
menu.findItem(R.id.action_delete_all).setVisible(count != 0);
}
super.onCreateOptionsMenu(menu, inflater);
}
private void startMenuLoading() {
if (mMenuProgressView == null) {
initMenuProgressView();
}
MenuItemCompat.setActionView(mFollowMenu, R.layout.menu_item_action_refresh);
MenuItemCompat.expandActionView(mFollowMenu);
View view = MenuItemCompat.getActionView(mFollowMenu);
((ProgressView) view.findViewById(R.id.progress)).start();
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.build_prop_menu, menu);
searchItem = menu.findItem(R.id.search);
SearchView searchView = new SearchView(getActionBar().getThemedContext());
searchView.setQueryHint(getString(R.string.search));
MenuItemCompat.setActionView(searchItem, searchView);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
removeAllViews();
Object[] keys = buildpropItem.keySet().toArray();
Object[] values = buildpropItem.values().toArray();
for (int i = 0; i < keys.length; i++)
if (((String) keys[i]).contains(newText)) {
PopupCardView.DPopupCard mPopupCard = new PopupCardView.DPopupCard(null);
mPopupCard.setDescription(newText.isEmpty() ?
(String) keys[i] : Html.fromHtml(((String) keys[i]).replace(newText, "" +
"<b><font color=\"#2A7289\">" + newText + "</font></b>")));
mPopupCard.setItem((String) values[i]);
mPopupCard.setOnClickListener(BuildpropFragment.this);
addView(mPopupCard);
}
return true;
}
});
}
void initializeLoadingIndicator(Menu OptionsMenu) {
// Add refresh in Action Bar
mLoadingItem = OptionsMenu.add(Menu.NONE, Menu.NONE, Menu.NONE, getString(R.string.loading));
// Set up the view
MenuItemCompat.setActionView(mLoadingItem, R.layout.loading);
// Specify the show flags
MenuItemCompat.setShowAsAction(mLoadingItem, MenuItem.SHOW_AS_ACTION_ALWAYS);
// Hide by default
mLoadingItem.setVisible(false);
}
void initializeLoadingIndicator(Menu OptionsMenu) {
// Add refresh in Action Bar
mLoadingItem = OptionsMenu.add(Menu.NONE, Menu.NONE, Menu.NONE, getString(R.string.signing_up));
// Set up the view
MenuItemCompat.setActionView(mLoadingItem, R.layout.loading);
// Specify the show flags
MenuItemCompat.setShowAsAction(mLoadingItem, MenuItem.SHOW_AS_ACTION_ALWAYS);
// Hide by default
mLoadingItem.setVisible(false);
}
private void setUpSearchView(Menu menu) {
SearchView searchView = new SearchView(this);
MenuItem searchMenuItem = menu.findItem(R.id.action_search);
MenuItemCompat.setActionView(searchMenuItem, searchView);
MenuItemCompat.setShowAsAction(searchMenuItem, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String newText) {
String currentFilterString = currentView.getCurrentFilterString();
String newFilter = !TextUtils.isEmpty(newText) ? newText : null;
if (currentFilterString == null && newFilter == null) {
return true;
}
if (currentFilterString != null && currentFilterString.equals(newFilter)) {
return true;
}
currentView.setCurrentFilterString(newFilter);
if (currentView instanceof SelectAppsView) {
getSupportLoaderManager().restartLoader(currentView.getLayoutResId(), null,
(SelectAppsView) currentView);
} else if (currentView instanceof SwapSuccessView) {
getSupportLoaderManager().restartLoader(currentView.getLayoutResId(), null,
(SwapSuccessView) currentView);
} else {
throw new IllegalStateException(currentView.getClass() + " does not have Loader!");
}
return true;
}
@Override
public boolean onQueryTextChange(String s) {
return true;
}
});
}
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Place an action bar item for searching.
MenuItem item = menu.add("Search");
item.setIcon(android.R.drawable.ic_menu_search);
MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_ALWAYS
| MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
View searchView = SearchViewCompat.newSearchView(getActivity());
if (searchView != null) {
SearchViewCompat.setOnQueryTextListener(searchView,
new OnQueryTextListenerCompat() {
@Override
public boolean onQueryTextChange(String newText) {
// Called when the action bar search text has changed. Update
// the search filter, and restart the loader to do a new query
// with this filter.
String newFilter = !TextUtils.isEmpty(newText) ? newText : null;
// Don't do anything if the filter hasn't actually changed.
// Prevents restarting the loader when restoring state.
if (mCurFilter == null && newFilter == null) {
return true;
}
if (mCurFilter != null && mCurFilter.equals(newFilter)) {
return true;
}
mCurFilter = newFilter;
getLoaderManager().restartLoader(0, null, CursorLoaderListFragment.this);
return true;
}
});
MenuItemCompat.setActionView(item, searchView);
}
}
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Place an action bar item for searching.
MenuItem item = menu.add("Search");
item.setIcon(android.R.drawable.ic_menu_search);
MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM
| MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
final View searchView = SearchViewCompat.newSearchView(getActivity());
if (searchView != null) {
SearchViewCompat.setOnQueryTextListener(searchView,
new OnQueryTextListenerCompat() {
@Override
public boolean onQueryTextChange(String newText) {
// Called when the action bar search text has changed. Since this
// is a simple array adapter, we can just have it do the filtering.
mCurFilter = !TextUtils.isEmpty(newText) ? newText : null;
mAdapter.getFilter().filter(mCurFilter);
return true;
}
});
SearchViewCompat.setOnCloseListener(searchView,
new OnCloseListenerCompat() {
@Override
public boolean onClose() {
if (!TextUtils.isEmpty(SearchViewCompat.getQuery(searchView))) {
SearchViewCompat.setQuery(searchView, null, true);
}
return true;
}
});
MenuItemCompat.setActionView(item, searchView);
}
}
public void setRefreshActionButtonState() {
//если статус обновляется - заменяем иконку обновить на крутящийся прогрессбар
if (optionsMenu != null) {
final MenuItem refreshItem = optionsMenu
.findItem(R.id.menu_refresh);
if (refreshItem != null) {
if (refreshing) {
MenuItemCompat.setActionView(refreshItem, R.layout.actionbar_progress);
} else {
MenuItemCompat.setActionView(refreshItem, null);
}
}
}
}
public void setRefreshActionButtonState() {
if (optionsMenu != null) {
final MenuItem refreshItem = optionsMenu
.findItem(R.id.menu_refresh);
if (refreshItem != null) {
if (refreshing) {
MenuItemCompat.setActionView(refreshItem, R.layout.actionbar_progress);
} else {
MenuItemCompat.setActionView(refreshItem, null);
}
}
}
}
@Override
public void onLoadFinished(final Loader<List<T>> loader, final List<T> items) {
final Exception exception = getException(loader);
onStopLoading();
if (refresh != null) {
MenuItemCompat.setActionView(refresh,null);
}
if (exception != null) {
ended.set(true);
showError(exception);
showList();
return;
}
if (items != null && mAdapter != null && !items.isEmpty()) {
if (time == 0)
getAdapter().refresh();
getAdapter().add(items);
}
showList();
updateAdapter();
onLoaderDone(items);
showLoading();
if (items == null || items.size() < pagedSize(time)) {
ended.set(true);
onAllDataLoaded();
hideLoading();
}
time++;
}
@Override
protected void onStartLoading() {
super.onStartLoading();
if (refresh != null) {
MenuItemCompat.setActionView(refresh, R.layout.indeterminate_progress_action);
}
}
private void startMenuLoading() {
MenuItemCompat.setActionView(mFollowMenu, R.layout.menu_item_action_refresh);
MenuItemCompat.expandActionView(mFollowMenu);
View view = MenuItemCompat.getActionView(mFollowMenu);
((ProgressView) view.findViewById(R.id.progress)).start();
}
private void stopMenuLoading() {
MenuItemCompat.collapseActionView(mFollowMenu);
MenuItemCompat.setActionView(mFollowMenu, null);
}
private void stopMenuLoading() {
MenuItemCompat.collapseActionView(mFollowMenu);
MenuItemCompat.setActionView(mFollowMenu, null);
}
@Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Place an action bar item for searching.
MenuItem item = menu.add("Search");
item.setIcon(android.R.drawable.ic_menu_search);
MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_ALWAYS
| MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
final View searchView = SearchViewCompat.newSearchView(getActivity());
if (searchView != null) {
SearchViewCompat.setOnQueryTextListener(searchView,
new OnQueryTextListenerCompat() {
@Override
public boolean onQueryTextChange(String newText) {
// Called when the action bar search text has changed. Update
// the search filter, and restart the loader to do a new query
// with this filter.
String newFilter = !TextUtils.isEmpty(newText) ? newText : null;
// Don't do anything if the filter hasn't actually changed.
// Prevents restarting the loader when restoring state.
if (mCurFilter == null && newFilter == null) {
return true;
}
if (mCurFilter != null && mCurFilter.equals(newFilter)) {
return true;
}
mCurFilter = newFilter;
getLoaderManager().restartLoader(0, null, CursorLoaderListFragment.this);
return true;
}
});
SearchViewCompat.setOnCloseListener(searchView,
new OnCloseListenerCompat() {
@Override
public boolean onClose() {
if (!TextUtils.isEmpty(SearchViewCompat.getQuery(searchView))) {
SearchViewCompat.setQuery(searchView, null, true);
}
return true;
}
});
MenuItemCompat.setActionView(item, searchView);
}
}