Я пытаюсь внедрить новый Android-навигатор в моем приложении. Я создал BaseActivity.java, который обрабатывает настройку ящика и слушателей, и у меня есть две субактивности, которые расширяют этот базовый класс. Во втором действии я планирую использовать другой стиль панели действий, используя следующие attrs:
<item name="android:windowActionBarOverlay">true</item>
<item name="android:background">@android:color/transparent</item>
чтобы сделать панель действий прозрачной и сделать контент богаче, поскольку в моем макете есть заголовок изображения.
Я достиг только этого, но теперь проблема заключается в том, что, поскольку контент расширяется, чтобы использовать дополнительное пространство для использования ActionBar в качестве наложения, сам ящик навигации также расширяется, и он перекрывает ActionBar, создавая довольно ужасно выглядящий макет:
То, что я хотел бы сделать, - это фактическое содержимое (фрейм-макет, который будет заполнен фрагментом), чтобы заняться дополнительным пространством, но ящик навигатора по-прежнему находится под панелью действий, аналогично Play Музыкальное приложение:
Любые идеи о том, что я могу сделать, чтобы это произошло?
РЕДАКТИРОВАТЬ Итак, согласно помощи Ахмада, я устанавливаю marginTop
только в ListView. Здесь макет:
<!-- The navigation drawer -->
<ListView android:id="@+id/left_drawer"
android:layout_marginTop="?android:attr/actionBarSize"
<!-- This was added after seeing the crazy effect, but does nothing -->
android:layout_marginBottom="0dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="0dp"
android:layout_width="240dp"
android:layout_height="fill_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:background="?attr/listviewBackground"
/>
И теперь, он отлично работает для верхней стороны, но по какой-то причине также имеет место в нижней части представления, что совершенно не имеет для меня никакого смысла. Вот скриншот.
Не уверен, что это заставляет: (