Я пытаюсь реализовать панель поиска поверх представления, например, в приложении Google Play Музыка. Я не мог найти ответ для этого где-нибудь. Я пробовал отрицательный marginBottom, но большой палец был отрезан. Я нашел аналогичную запись на SO SeekBar at the top of the layout in Android, но без ответа так должен был опубликовать это. Пожалуйста помоги. Образное изображение из Google воспроизводит музыку ниже.Поиск в верхней части окна
<FrameLayout
android:id="@+id/rl_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ViewPager
android:id="@+id/album_art_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<SeekBar
android:id="@+id/songProgressBar1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginRight="-5dp"
android:layout_marginLeft="-5dp"
android:layout_gravity="bottom"
android:layout_marginBottom="-5dp"
android:progressDrawable="@drawable/apptheme_scrubber_progress_horizontal_holo_dark"
android:thumb= "@drawable/seekbar_thumb"
/>
<!--<View
<!-- android:layout_width="match_parent"
<!-- android:layout_height="1dp"
<!-- android:layout_gravity="bottom"
<!-- android:background="@android:color/transparent"
<!-- /> // Commenting this as this is not bottom view in my case
</FrameLayout>
Вид снизу:
<RelativeLayout
android:id="@+id/player_footer_bg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/rl_pager">
<ImageButton
android:id="@+id/btnPlay"
android:layout_width="@dimen/audio_player_btn_play_dimensions"
android:layout_height="@dimen/audio_player_btn_play_dimensions"
android:layout_marginBottom="10dp"
android:background="@null"
android:contentDescription="@string/play"
android:src="@drawable/play"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<ImageButton
android:id="@+id/btnNext"
android:layout_width="@dimen/audio_player_btn_play_dimensions"
android:layout_height="@dimen/audio_player_btn_play_dimensions"
android:background="@null"
android:contentDescription="@string/next"
android:src="@drawable/ic_skip_white"
android:focusable="true"
android:scaleType="fitCenter"
android:layout_alignTop="@+id/btnPlay"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="60dp"
android:layout_marginEnd="60dp" />
<ImageButton
android:id="@+id/btnPrevious"
android:layout_width="@dimen/audio_player_btn_play_dimensions"
android:layout_height="@dimen/audio_player_btn_play_dimensions"
android:background="@null"
android:contentDescription="@string/next"
android:src="@drawable/ic_prev_white"
android:focusable="true"
android:scaleType="fitCenter"
android:layout_alignTop="@+id/btnNext"
android:layout_marginLeft="60dp"
android:layout_marginStart="60dp" />
</RelativeLayout>
Ваш ответ является прекрасным примером. Но в моем случае высота моего представления снизу соответствует совпадению с родительским и представлением высоты пейджера. Я рисую его из onMeasure. В этом случае панель поиска перекрывает вид снизу. Добавлен снизу в коде. – RisingUp
@RisingUp Извините, но я действительно не понимаю, как макет нижнего представления, который вы теперь добавили к вопросу, соответствует первому XML-макету, который у вас есть в вопросе. Является ли представление снизу внутри «FrameLayout» из первого макета или они находятся в каком-то другом более высоком уровне «ViewGroup»? Есть ли причина, по которой вы не можете представить ее в одном XML-файле, поскольку это упростило бы понимание. Альтернативно, просмотр кода, в котором вы добавляете нижний вид, может оказаться полезным, чтобы увидеть, как два макета подходят друг другу. – HexAndBugs
Наверх У меня есть FrameLayout, у которого есть Viewpager и seekbar. И ниже, у меня есть вид снизу, который я добавил. Итак, мой вопрос состоит в том, чтобы объединить представление FrameLayout и представление Bottom таким образом, что Seekbar должен появиться, как я спросил. Я оставил вид снизу отдельным, чтобы избежать путаницы для будущих читателей. Фактически оба представления FrameLayout и представление Bottom являются частью одного XML. – RisingUp