it-swarm.com.ru

Android Разделить панель действий с элементами действий сверху и снизу?

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

enter image description here

57
Ryan R

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

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

26
Ryan R

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

@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" > ....
17
roomtek

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

14
Sebastian

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

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

1
BoldHD

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

MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_IF_ROOM
1
Matthew Reilly