Android Split Action Bar с элементами действий сверху и снизу? - PullRequest
57 голосов
/ 20 декабря 2011

Есть ли способ указать некоторые элементы действий в верхней части панели действий «Разделение», а остальные - в нижнюю? Или это все или ничего, при котором все элементы действий переходят только в нижнюю часть разделения?

enter image description here

Ответы [ 5 ]

26 голосов
/ 23 декабря 2011

В настоящее время это невозможно.

См. Ответ непосредственно от разработчиков Android Рето Майер и Романа Нурика в часы работы офиса разработчиков Android: http://youtu.be/pBmRCBP56-Q?t=55m50s

17 голосов
/ 05 декабря 2012

Для решения этой проблемы я использовал пользовательский вид в качестве панели действий:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ActionBar actionBar = getActionBar();
    actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

    View view = View.inflate(getApplicationContext(), R.layout.actionbar,
            null);
    actionBar.setCustomView(view);

}

, а затем для нижней панели я надувал мой вид меню или все, что вы хотите видеть внизу:

 @Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.browser_main, menu);
    RelativeLayout relativeLayout = (RelativeLayout) menu.findItem(
            R.id.layout_item).getActionView();

    View inflatedView = getLayoutInflater().inflate(
            R.layout.media_bottombar, null);

    relativeLayout.addView(inflatedView);

    return true;
}

В манифесте Android я также включаю (android: uiOptions = "splitActionBarWhenNarrow"), например:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:uiOptions="splitActionBarWhenNarrow" > ....
14 голосов
/ 21 декабря 2011

Я решил эту проблему, используя CustomView и добавив пункты меню, которые должны отображаться вверху, в это представление.

1 голос
/ 03 февраля 2015

Если эта опция активирована, Android имеет возможность разделить панель действий. Будет ли разделяться, определяется системой во время выполнения

Вы можете определить, что панель действий должна автоматически разделяться системой, если недостаточно свободного места. Вы можете активировать это через андроид: uiOptions = "SplitActionBarWhenNarrow" параметр в объявлении активности вашего приложения в AndroidManifest.xml файл.

1 голос
/ 21 декабря 2011

Сомнительный. Однако вы можете выбрать комбинацию из них при создании элементов меню на панели действий для эксперимента.

MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_IF_ROOM
...