Высота в верхней части панели вкладок навигации для тени

Я пытаюсь использовать Elevation from Material Design для создания тени на панели вкладок навигации.

Следуйте другим руководствам, которые я узнаю, что мне нужно:

  • Поместите отступы в родительский вид.
  • Используйте ClipToPadding false для Parent.
  • Объявите высоту в дочернем представлении.
  • И выберите один задний фон для ребенка.

Я смог сделать это в элементах для моего представления ресайклера с помощью адаптеров, но я не могу использовать это напрямую в своей активности xml.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/neah_screen_bg_white"
tools:context="at.next.neah.screens.main.activitys.MainActivity">


<android.support.v4.view.ViewPager
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
app:layout_constraintBottom_toTopOf="@+id/main_navigation_bar_space"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<android.support.v4.widget.Space
android:id="@+id/main_navigation_bar_space"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="4dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toTopOf="@id/main_navigation_bar"/>

<android.support.constraint.ConstraintLayout
android:id="@+id/main_navigation_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:paddingTop="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent">


<at.next.neah.customView.SlidingTab.SlidingTabLayout
android:id="@+id/main_tabs"
android:layout_width="0dp"
android:layout_height="48dp"
android:elevation="8dp"
android:background="@color/neah_screen_bg_grey_dark"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:tabGravity="fill" />

<ImageView
android:id="@+id/main_icon_home"
android:elevation="8dp"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="11dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="11dp"
android:contentDescription="@string/icon_contentDescription"
app:layout_constraintBottom_toBottomOf="@+id/main_tabs"
app:layout_constraintEnd_toStartOf="@+id/main_icon_network"
app:layout_constraintStart_toStartOf="@+id/main_tabs"
app:layout_constraintTop_toTopOf="@+id/main_tabs"
app:srcCompat="@mipmap/img_splash_logo" />

<ImageView
android:id="@+id/main_icon_network"
android:elevation="8dp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:contentDescription="@string/icon_contentDescription"
app:layout_constraintBottom_toBottomOf="@+id/main_tabs"
app:layout_constraintEnd_toStartOf="@+id/main_icon_chat"
app:layout_constraintStart_toEndOf="@id/main_icon_home"
app:layout_constraintTop_toTopOf="@+id/main_tabs"
app:srcCompat="@drawable/ic_network_grey_28dp" />

<ImageView
android:id="@+id/main_icon_chat"
android:elevation="8dp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:contentDescription="@string/icon_contentDescription"
app:layout_constraintBottom_toBottomOf="@+id/main_tabs"
app:layout_constraintEnd_toStartOf="@+id/main_icon_notification"
app:layout_constraintStart_toEndOf="@id/main_icon_network"
app:layout_constraintTop_toTopOf="@+id/main_tabs"
app:srcCompat="@drawable/ic_chat_grey_35dp" />

<ImageView
android:id="@+id/main_icon_notification"
android:elevation="8dp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:contentDescription="@string/icon_contentDescription"
app:layout_constraintBottom_toBottomOf="@+id/main_tabs"
app:layout_constraintEnd_toStartOf="@+id/main_icon_profile"
app:layout_constraintStart_toEndOf="@id/main_icon_chat"
app:layout_constraintTop_toTopOf="@+id/main_tabs"
app:srcCompat="@drawable/ic_notifications_grey_28dp" />

<ImageView
android:id="@+id/main_icon_profile"
android:elevation="8dp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:contentDescription="@string/icon_contentDescription"
app:layout_constraintBottom_toBottomOf="@+id/main_tabs"
app:layout_constraintEnd_toEndOf="@+id/main_tabs"
app:layout_constraintStart_toEndOf="@id/main_icon_notification"
app:layout_constraintTop_toTopOf="@+id/main_tabs"
app:srcCompat="@drawable/ic_person_grey_28dp" />

</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>

У меня есть один контейнер для фрагментов. Один пространственный элемент для размещения фрагментов за тенью. Один макет ограничений для заполнения панели навигации. Элементы панели навигации.

Тень должна быть над серым фоном и под синим выделением

введите здесь описание изображения


person Canato    schedule 20.12.2017    source источник


Ответы (1)


Просто введите код

android:elevation="8dp"
android:background="@color/neah_screen_bg_grey_dark"

внутри Constraint Layout и работает.

person Canato    schedule 29.12.2017