studio programacion para paginas móviles libro gratis edición desarrollo curso aplicaciones android android-support-library android-customtabs

android - programacion - Biblioteca de soporte de pestañas personalizadas



manual de programacion android pdf (3)

Hay un proyecto de demostración en github , mencionado por @NikolaDespotoski, que puede ser parcialmente reutilizable.

La solución se basa en este artículo .

  1. Añadir proyecto compartido a su proyecto. Compartido es un nombre de proyecto (no sé por qué Google no lo agregó a la biblioteca customtabs ). enlace al proyecto compartido

  2. Copie el Asistente de actividades del proyecto de demostración a su proyecto y coloque el paquete correcto. CustomTabActivityHelper

  3. Para obtener previamente la url, use CustomTabActivityHelper#mayLaunchUrl método CustomTabActivityHelper#mayLaunchUrl (si es necesario) y CustomTabActivityHelper#openCustomTab para abrir la pestaña personalizada de Chrome.

Por ejemplo, abrir pestaña personalizada:

CustomTabsIntent customTabsIntent = new CustomTabsIntent.Builder().build(); CustomTabActivityHelper.openCustomTab(this, customTabsIntent, uri, new CustomTabActivityHelper.CustomTabFallback() { @Override public void openUri(Activity activity, Uri uri) { Intent intent = new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } });

La precarga de url es más complicada. Puedes ver esta demo para una mejor comprensión.

Recientemente se agregó esta biblioteca de soporte, pero no pude encontrar ningún ejemplo.

¿Cuál es el propósito de esta biblioteca?

¿Podrías publicar algún ejemplo usando esta biblioteca?


Prueba esto:

dependencia de gradle

dependencies { ... compile ''com.android.support:customtabs:25.1.0'' }

Código:

Uri uri = Uri.parse("https://github.com/mzelzoghbi"); // create an intent builder CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder(); // Begin customizing // set toolbar colors intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary)); intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark)); // build custom tabs intent CustomTabsIntent customTabsIntent = intentBuilder.build(); // launch the url customTabsIntent.launchUrl(activity, uri);


CustomTabs se utiliza para abrir enlaces en un navegador que admite CustomTabs . La apertura más probable se realiza en Chrome, por lo que CustomTabs forma parte de la plataforma de cromo.

El objetivo es evitar la implementación de WebViews en su aplicación y, sin embargo, brindarle la opción de diseñar las pestañas de Chrome reales, como el color de la barra de herramientas, el título, varias transiciones de salida / entrada, agregar botones de acción y menús. CustomTabs permitirá que su aplicación se una al servicio de Chrome y hará que Chrome funcione como parte de su aplicación. Un estilo que le dará la sensación de que el recurso web abierto forma parte de su aplicación.

Además del estilo, CustomTabs le brindará capacidades web cromadas completas que probablemente no podrían lograrse con WebView estándar.

Aquí están las demos , que son sencillas.

Editar:

Un fragmento de mi aplicación que es la versión "simplificada" de la demostración de Google, que carece de un mecanismo alternativo, por ahora.

El uso del ayudante es el siguiente:

  1. Inicialízalo cuando tu actividad esté viva.

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_preview); mCustomTabHelper = new SimpleCustomChromeTabsHelper(this);
}
2. Cuando la instancia está viva y tenemos una URL lista para ser abierta, podemos llamar a:

mCustomTabHelper.prepareUrl(mProduct.getRedirectUrl());

Lo que se vinculará al servicio de Chrome, si no lo hizo anteriormente, o simplemente notificará al servicio de Chrome que podríamos abrir ese enlace en el futuro. CustomTabSession se puede utilizar para abrir o preparar varias URL.

  1. Abre la url

    mCustomTabHelper.openUrl(mProduct.getRedirectUrl());

El método sobrecargado de openUrl está utilizando una especie de generador de opciones de interfaz de openUrl que es una réplica del CustomTabIntent.Builder , pero CustomTabsSession argumento CustomTabsSession para que el asistente más adelante compile el CustomTabIntent internamente.

Estoy ejecutando la versión de Chrome Dev a lo largo de una estable. Si elijo el estable, no puedo usar CustomTabs en absoluto. Como consejos de Google, CustomTabs solo funcionará en Chrome 45 y versiones beta de Chrome.

Demostración de mi aplicación: https://youtu.be/fnIZwuJXjHI

Editar : Post