CardView va encima de FrameLayout, pero declaró primero

Tengo FrameLayout simple con apoyo CardView como primer elemento, y TextView como segundo, por lo que TextView debe estar en la parte superior de la vista inflada. Esto funciona en pre-Lolipop, pero en 21 + tarjeta toma toppest lugar en el diseño, por qué eso es así y cómo arreglar esto? Lo mismo con RelativeLayout. Diseño:

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="200dp" android:layout_margin="20dp" app:cardBackgroundColor="#ff0000" app:cardUseCompatPadding="false" /> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="i am top view!" android:gravity="center" android:layout_gravity="center" android:textSize="30sp" android:textAllCaps="true" android:textColor="#00ff00" android:background="#0000ff" /> </FrameLayout> 

Apenas añada su opinión del texto dentro de la opinión de la tarjeta, hasta donde sé que la orden de z es indefinido dentro de una disposición del marco, pero la última visión extendida debe ser dibujada por último.

Esto probablemente tuvo que ver con que las vistas de la tarjeta en la elevación del uso del lollipop mientras que se caen detrás en el código de dibujo de la frontera pre lollipop.

En caso de que alguien llegue aquí y la solución para fijar la elevación no funciona para ellos (como en mi caso, donde necesitaba dibujar una imagen por encima de la CardView y tener una sombra en ella no era aceptable), puede resolver el problema por CardView el CardView dentro de otro FrameLayout . En el ejemplo proporcionado, se vería algo como esto:

 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- This is the added FrameLayout --> <FrameLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="200dp" android:layout_margin="20dp" app:cardBackgroundColor="#ff0000" app:cardUseCompatPadding="false" /> </FrameLayout> <TextView android:layout_width="match_parent" android:layout_height="100dp" android:text="i am top view!" android:gravity="center" android:layout_gravity="center" android:textSize="30sp" android:textAllCaps="true" android:textColor="#00ff00" android:background="#0000ff" /> </FrameLayout> 
  • NavigationView y ActionBarDrawerToggle
  • Progaurd issue "Advertencia: Ignorar el atributo InnerClasses para una clase interna anónima"
  • Recurso no encontrado: Theme.Leanback
  • Cómo definir la dependencia de v7 appcompat correctamente?
  • Android: Control Desplazamiento suave sobre la vista del reciclador
  • El reproductor de video apaga el modo en Android usando appcompat-v7
  • Cómo agregar un botón de acción flotante, sin AppCompat?
  • Configuración de Gradle para api 26 (Android)
  • No se puede resolver el símbolo 'AppCompatActivity'
  • Java.util.zip.ZipException: entrada duplicada durante packageAllDebugClassesForMultiDex
  • Implementación del menú de acción flotante mediante el botón de acción Float de Android Design Support library
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.