This Activity
runs in fullscreen. Since elevation is missing in Kitkat
, the ViewPager
is going above the Toolbar
.
Here is my layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/PhotoPager_Layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat"
>
<include
android:id="@+id/toolbar"
layout="@layout/toolbar"
android:background="@color/md_dark_appbar"
android:windowActionBarOverlay="true"
/>
<com.horaapps.leafpic.Views.HackyViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/photos_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
This is what it looks like:
Any advice on how I can solve this problem?
Items in RelativeLayout are z-ordered. Defaulr oder is: earlier items behind later ones. Your toolbar is first in RelativeLayout, so it is behind any other views.
There are three solutions. You can use any of them.
Reorder views in RelativeLayout: move toolbat to end:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/PhotoPager_Layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:theme="@style/ThemeOverlay.AppCompat"
>
<com.horaapps.leafpic.Views.HackyViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/photos_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<include
android:id="@+id/toolbar"
layout="@layout/toolbar"
android:background="@color/md_dark_appbar"
/>
</RelativeLayout>
Call toolbar.bringToFront() somewhere in onCreate() (if you you use this layout for an activity). Example:
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.layout_activity);// your resource name here
View toolbar = findViewById(R.id.toolbar);
toolbar.bringToFront();
....
}
Call ViewGroup::bringChildToFront for parent of toolbar view somewhere in onCreate. If you use this layout in activity's onCreate, then the code should be:
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.layout_activity);// your resource name here
RelativeLayout root = findViewById(R.id.PhotoPager_Layout);
View toolbar = findViewById(R.id.toolbar);
root.bringChildToFront(toolbar);
....
}