Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Nueva interfaz de la tarjeta Google Now y Google+

Google Now y Google+ (Android) hacen uso de una interfaz tipo tarjeta.

Introduzca aquí la descripción de la imagen

  • ArrayIndexOutOfBoundsException cuando se utiliza ListAdapter
  • Cómo cambiar el tamaño de una imagen que elegí de la galería en android?
  • Cordova + Android - android-windowSoftInputMode adjustPan no funciona
  • ¿Cómo (correctamente) la transición de startManagingCursor a CursorLoader?
  • El contenido del fragmento se superpone a la barra de herramientas
  • ¿Puedo obtener un seguimiento de pila de C ++ cuando se bloquea la aplicación de Android?
  • Me preguntaba si alguien tenía alguna idea de cómo esta interfaz se puede replicar en Android.

    Ambos tienen animaciones bastante interesantes para mostrar nuevas tarjetas también; Cualquier pensamiento sería genial.

  • ¿Cómo obtener información sobre el toque de RecyclerView?
  • Iconos en un diálogo de lista
  • Adición de fragmentos dinámicamente
  • Java: Acceso a recursos y la ley de Demeter
  • Clic en el elemento programáticamente en RecyclerView
  • El adaptador de vista de lista no funciona, getView no se llama.
  • 6 Solutions collect form web for “Nueva interfaz de la tarjeta Google Now y Google+”

    He publicado un tutorial sobre cómo replicar / crear el diseño de Google Cards de estilo aquí .

    Pasos clave

    1. Crear un diseño personalizado
    2. Añadir observador para dibujar niños
    3. Animar tarjetas alternadas

    Heres un fragmento de código

    @Override public void onGlobalLayout() { getViewTreeObserver().removeGlobalOnLayoutListener(this); final int heightPx = getContext().getResources().getDisplayMetrics().heightPixels; boolean inversed = false; final int childCount = getChildCount(); for (int i = 0; i < childCount; i++) { View child = getChildAt(i); int[] location = new int[2]; child.getLocationOnScreen(location); if (location[1] > heightPx) { break; } if (!inversed) { child.startAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.slide_up_left)); } else { child.startAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.slide_up_right)); } inversed = !inversed; } } 

    Echa un vistazo a http://ryanharter.com/blog/2013/01/31/how-to-make-an-android-card-list/

    Copia del ejemplo:

    /res/drawable/bg_card.xml:

     <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp"/> <solid android:color="#ccc" /> </shape> </item> <item android:bottom="2dp"> <shape android:shape="rectangle" android:dither="true"> <corners android:radius="2dp" /> <solid android:color="@android:color/white" /> <padding android:bottom="8dp" android:left="8dp" android:right="8dp" android:top="8dp" /> </shape> </item> </layer-list> 

    Utilícela como el fondo de su disposición:

     <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:padding="12dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="6dp" android:layout_marginRight="6dp" android:layout_marginTop="4dp" android:layout_marginBottom="4dp" android:background="@drawable/bg_card"> <!-- Card Contents go here --> </LinearLayout> </FrameLayout> 

    ==== Comenzar la actualización 2014-09-29 ====

    Utilice CardView desde la biblioteca de compatibilidad de Google (desde Android 2.1 o superior):

     <!-- A CardView that contains a TextView --> <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_gravity="center" android:layout_width="200dp" android:layout_height="200dp" card_view:cardCornerRadius="4dp"> <TextView android:id="@+id/info_text" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v7.widget.CardView> 

    Consulte https://developer.android.com/preview/material/ui-widgets.html

    ==== Actualización final ====

    (Al menos) dos opciones:

    o

    Consulte https://github.com/afollestad/Cards-UI/wiki/2.-Intro-Tutorial para una introducción sencilla. Introduzca aquí la descripción de la imagen

    Hice un diseño muy similar que puedes ver aquí https://github.com/Nammari/GooglePlusLayout y para una demostración de vídeo aquí http://youtu.be/jvfDuJz4fw4 para la animación que se aplican a los niños, para más detalles, busque Aquí http://nammari.tumblr.com/post/41893669349/goolge-plus-layout para un blog que aclare todo.

    Introduzca aquí la descripción de la imagen

    La apariencia de la tarjeta no debe ser difícil. Sólo necesita un ListView sin divisores y sus elementos de vista de lista deben tener un margen.

    Me gusta esto:

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_margin="16dp" android:layout_height="wrap_content" android:background="@android:color/background_light"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="16dp" android:paddingRight="16dp" android:paddingLeft="16dp" android:text="Title" android:textSize="18dp" android:textColor="@android:color/primary_text_holo_light" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingRight="16dp" android:paddingLeft="16dp" android:text="Subtitle" android:textSize="14dp" android:textColor="@android:color/primary_text_holo_light" /> <ImageView android:layout_marginTop="16dp" android:layout_marginBottom="16dp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/background"/> </LinearLayout> 

    Tienen la misma necesidad, y han comenzado a investigar un poco. He estado buscando en la salida de apktool que he podido obtener del apk de com.google.android.googlequicksearchbox. (No hay fuentes sólo las res xmls)

    Este diseño (at_place_card.xml) se utiliza para mostrar una ubicación. Tiene tres líneas de texto y dos botones de acciones (detalles y checkin) a la derecha y una imagen a la izquierda.

    Desafortunadamente, no puedo conseguir ninguna información del estilo hacia fuera del apk, así que el tamaño de fuente, las dimensiones y los colores son apenas conjeturas.

     <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:orientation="horizontal" android:background="@drawable/card_background" android:layout_width="fill_parent" android:layout_height="wrap_content" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:thegoogle="http://schemas.android.com/apk/res/com.google.android.googlequicksearchbox"> <LinearLayout android:orientation="vertical" android:layout_width="0.0dip" android:layout_height="fill_parent" android:baselineAligned="false" android:layout_weight="1.0"> <FrameLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" style="@style/CardTextBlock"> <TextView android:id="@id/entry_title" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/CardTitle" /> <TextView android:id="@id/open_hours" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/CardText" /> <TextView android:textColor="@color/card_light_text" android:id="@id/known_for_terms" android:paddingBottom="4.0dip" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="4" style="@style/CardText" /> </LinearLayout> <ImageButton android:layout_gravity="top|right|center" android:id="@id/card_menu_button" android:layout_width="@dimen/card_action_button_height" android:layout_height="@dimen/card_action_button_height" android:contentDescription="@string/accessibility_menu_button" style="@style/CardMenuButton" /> </FrameLayout> <Space android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" /> <Button android:id="@id/details_button" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="@dimen/card_action_button_height" android:text="@string/more_details" android:drawableLeft="@drawable/ic_action_pin" style="@style/CardActionButtonWithIcon" /> <Button android:id="@id/checkin_button" android:layout_width="fill_parent" android:layout_height="@dimen/card_action_button_height" android:text="@string/check_in" android:drawableLeft="@drawable/ic_action_check_in" style="@style/CardActionButtonWithIcon" /> </LinearLayout> <com.google.android.velvet.ui.CrossfadingWebImageView android:id="@id/place_photo" android:visibility="gone" android:layout_width="0.0dip" android:layout_height="fill_parent" android:scaleType="centerCrop" android:adjustViewBounds="true" android:baselineAligned="false" android:minHeight="@dimen/at_place_card_content_height" android:layout_weight="1.0" android:contentDescription="@string/at_place_card_image_desc" thegoogle:crossfadeDuration="@integer/image_crossfade_duration" /> </LinearLayout> 

    Actualización: También fue capaz de obtener información de estilo. Si estás interesado aquí es un archivo zip con la información que tengo actualmente (algunos archivos de recursos de google ahora). https://dl.dropbox.com/u/4379928/android/googlenow2.zip

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.