Separador de sombras entre fragmentos de Android

Tengo un diseño similar a la aplicación de ICS Gmail para las tabletas ( ListFragment a la izquierda y el contenido de la derecha) y me preguntaba cómo podría ir sobre la construcción de los diseños de tal manera que hay un separador de sombra entre los dos fragmentos (como en el Aplicación de Gmail, que se muestra a continuación)

. ¡Sólo mira esa hermosa sombra!

También, como esto es aplicable a esta pregunta, ¿cómo puedo tener ese triángulo agradable / marcador de flecha en el diseño del elemento de la lista activa? Supongo que para implementar esto, el ListView en sí debe estar por encima de la sombra "capa", pero no tengo ni idea de cómo crear eso.

Sólo para que todos sepan (porque parece haber una falta de información sobre este tema), esto se logra dentro del XML del selector de fondo de la vista de las filas individuales de la lista. Por ejemplo, este es el diseño de la pantalla principal,

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/list_row" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/list_item_selector"> ...<!-- Rest of layout goes here --> </RelativeLayout> 

Pero la magia viene en el list_item_selector :

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/list_pressed" /> <item android:state_activated="true" android:drawable="@drawable/list_arrow_activated" /> <item android:drawable="@drawable/list_default" /> </selector> 

Mediante la definición de estos como 9-parche dibujables como este, puede hacer que cada elemento de la lista aportar es el ancho de la sombra de esa línea en el centro, y cuando se activa, ese segmento de sombra será reemplazado por una flecha. Espero que esto ayude a alguien, ya que es seguro me ayudó!

Estoy buscando hacer lo mismo que usted está tratando de hacer; Crear un efecto que un fragmento es "más cercano" que otro.

La respuesta de Roboguy maneja cómo tener la flecha blanca "selector" en el elemento de la lista; Voy a tratar de ser más específico sobre las sombras. Otro buen ejemplo del uso de selectores de fondo se puede ver en el código fuente de la aplicación Google IO 2011. Una vez que tenga el origen, observe los selectores de iconos fragment_dashboard.xml.

El separador de sombras es un gradiente, aplicado al lado izquierdo de una vista. Hay dos partes;

Primero, la "sombra" misma:

Res / shadow_left.xml

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:angle="0" android:startColor="#55000000" android:endColor="#00000000" /> </shape> 

Luego, para aplicarlo a un diseño:

Layout / my_lower_layer

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <View android:layout_width="20dp" android:layout_height="fill_parent" android:background="@drawable/fragment_shadow_left" /> <ImageView android:id="@+id/imageview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </RelativeLayout> 

Esto tiene que hacerse con un diseño relativo (a mi conocimiento). Si está utilizando un diseño lineal, puede arrollar todo el LineLayout dentro de un diseño relativo y, a continuación, agregar el con el degradado.

Tenga en cuenta que, si hace esto, el degradado <View> tiene que ir por debajo de la <LinearLayout> ; De lo contrario, el gradiente se dibujará bajo el diseño lineal, por lo que no lo verá.

  • ¿Ciclo de vida de un ViewPager y BackStack reemplazados?
  • ListFragment onItemClickListener no funciona
  • OnCreateOptionsMenu antes de onCreate android
  • ListFragment no muestra cambios en el tiempo actual
  • Rellenar lista de vista personalizada mediante ListFragment
  • Cómo agregar márgenes por encima y por debajo de un ListView en Android?
  • Onclicklistner no funciona en el listview de fragmentos
  • ListFragment no vuelve a mostrar datos al llamar desde FragmentStatePagerAdapter
  • Obtener posición del artículo desde el adaptador personalizado
  • Cómo establecer el divisor (a nulo) de un diseño personalizado ListFragment
  • Android ImageView no coincide con_parent dentro de FrameLayout por debajo de GingerBread
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.