Как расширить список навигации в панели действий?
-
12-11-2019 - |
Вопрос
В Android вы можете установить список навигации на панели действий, передав адаптер счетчика и OnNavigationListener.проблема в том, что список навигации не заполняет большую часть панели действий. Как его расширить, как приложение Gmail:Пример приложения Gmail:
Мое приложение:
И вот код:
//... setting the array adapter
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
NavigationListener navigationListener = new NavigationListener();
ListAdapter listAdapter = new ListAdapter();
actionBar.setListNavigationCallbacks(listAdapter, navigationListener);
actionBar.setDisplayShowTitleEnabled(false);
Другая проблема, с которой я сталкиваюсь, - это размер элемента счетчика, они кажутся очень маленькими, потому что я не передаю настроенное текстовое представление (посмотрите на снимок экрана)?пример того, что я делаю:
private class ListAdapter extends BaseAdapter implements SpinnerAdapter {
public View getView(int pos, View view, ViewGroup viewGroup) {
TextView text = new TextView(context);
text.setText(arrayAdapter.getItem(pos).toString());
return text;
}
}
Решение
Вы хотите реализовать getDropDownView
тоже метод.Это позволит вам предоставить другое представление раскрывающегося списка с нужными метриками и форматированием.
Рассмотрите возможность расширения макетов фреймворка. android.R.layout.simple_spinner_item
и android.R.layout.simple_spinner_dropdown_item
для этих ситуаций.Использовать findViewById(android.R.id.text1)
чтобы получить TextView
вам следует заполнить каждое из них.
Другие советы
Может быть, вы можете использовать Actionbar Вкладка навигация и добавьте значки на вкладки, а не на навигацию списка, поскольку навигация Gmail выглядит больше похоже на навигацию вкладок.