Как и на вопрос here, но имеет некоторые ключевые отличия. Наиболее заметно, что принятый ответ сделал до тех пор, пока не будет выпущена последняя версия библиотеки поддержки.Пользовательское представление Android ActionBar не заполняет родителя
Вот пользовательский вид макета:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFDD0000">
</LinearLayout>
Теперь, когда вы пытаетесь установить только пользовательский вид:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setCustomView(R.layout.actionbar);
Вы в конечном итоге с помощью пользовательского макета, который не заполняет весь ширина:
Чтобы сделать это более интересно, у меня есть аналогичные установки в другом приложении:
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setCustomView(R.layout.actionbar);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setHomeButtonEnabled(false);
Этот сделал Работа, пока я не обновил библиотеки поддержки до версии v21. Как только я это сделал, у меня была та же проблема с приложениями, у которых раньше не было этой проблемы.
Итак, мой вопрос в том, есть ли способ создать настраиваемый экран действия, заполнив ширину, используя последнюю библиотеку поддержки?
Редактировать После этого еще несколько тестов, я обнаружил, что компиляция с targetSdkVersion/compileSdkVersion установлен в 19 и с v7: 19.0.1 (или v7: 19.1.0) для библиотеки не имеет этой проблемы (есть домашняя иконка, о которой позаботится более поздний код), подтверждая, что это определенно проблема с последней версией.
См. Ответ на дублированный вопрос http://stackoverflow.com/a/26454325/624109 – Muzikant