Cómo cambiar el tema de la aplicación de "Actividad en blanco" a "Flujo maestro / detallado"
Tengo una aplicación que trabaja en el tema básico "Actividad en blanco" y lo que me gustaría hacer es cambiarlo a un tema de "flujo maestro / detalle". Sé que esto hará mi trabajo de la aplicación en androide SDK 11 + (androide 3.0 Honeycomb +), que está bien conmigo. El problema es que no sé por dónde empezar, ¿cuáles son los pasos básicos para realizar esta conversión GRANDE? No pude encontrar ningún ejemplo para ayudarme con este problema. ¿Qué debo estar buscando. Estoy seguro de que esto se ha hecho, ¿puede por lo menos por favor darme un puntero sobre cómo hacer esto? Mi aplicación no es tan complicado que utiliza actividades, tareas asíncronas, DB, listas personalizadas, … es muy básico. Utilizo la lista de encargo para exhibir datos y cuando hago clic en él exhibe muchos más detalles, así que pensé qué mejor manera de hacer esto en una materia más profesorial que el "flujo principal / detallado". Si usted tiene cualquier tutorial sobre el "Master / Detail Flow" que puede conectarme con lo que podría ayudar.
- La aplicación de Android con Facebook no funciona con la aplicación de Facebook instalada
- ¿Cómo puedo mostrar elipses en mi TextView si es mayor que la línea 1?
- Cordova: ¿Cómo escribir plugins nativos que pueden invocar repetidamente una devolución de llamada Javascript?
- Conectar a la red wifi de forma programática (primer acceso ssid)?
- No se puede deserializar la instancia de java.lang.String fuera de START_ARRAY
- Eclipse utiliza la variable PATH antigua para ejecutar el proceso de línea de comandos en la tarea Gradle?
- ¿Cuál es la diferencia entre la clase URI y Uri?
- OnPageSelected nunca se llama para el primer elemento?
- Regex para eliminar el número de pista del nombre de la canción?
- ¿Cómo puedo desarrollar para Android en Emacs?
- Añadir al archivo android
- Android Alert Dialog Fondo de aplicación API 11+
- Android Development: Obtención de datos desde la Web
Tengo una aplicación que funciona en el tema básico "Actividad en blanco" y lo que me gustaría hacer es cambiarlo a un tema de flujo maestro / detalle ".
Creo que un cambio en el flujo de la aplicación sería más apropiado que un cambio de tema. Dos preguntas obvias que aparecerían ¿por qué de repente quieres hacer este cambio y estás seguro de que tu aplicación tiene sentido en un flujo maestro / detallado? La respuesta sería muy probable que sea positiva, pero usted debe responder a ellos sin embargo.
Sé que esto hará mi trabajo de la aplicación en androide SDK 11 + (androide 3.0 Honeycomb +), que está bien conmigo
No veo por qué su aplicación no se puede ejecutar en las versiones siguientes con el nuevo material maestro / detalle.
El problema es que no sé por dónde empezar, ¿cuáles son los pasos básicos para realizar esta conversión GRANDE? No pude encontrar ningún ejemplo para ayudarme con este problema. ¿Qué debo estar buscando. Estoy seguro de que esto se ha hecho, ¿puede por lo menos por favor darme un puntero sobre cómo hacer esto?
No ha proporcionado detalles sobre cómo se implementa su aplicación. El cambio giraría alrededor de fragmentos por lo que una pregunta GRANDE sería si la versión de panel único actual se construye utilizando el marco de fragmentos.
Si su aplicación se construye utilizando fragmentos, entonces hacer el cambio no debe ser demasiado difícil. Usted necesitaría:
- Establecer qué partes (fragmentos) se deben combinar en una actividad (de los antiguos) para hacer el maestro / detalle (cuando el espacio lo permita)
- Cambiar la actividad de múltiples paneles para acomodar el nuevo fragmento (s). Esto debería ser fácil de hacer pero dependería del tamaño de las características expuestas por cada uno de esos fragmentos.
- Modificar el resto de las actividades (para cuando la aplicación no se ejecutará en el modo de múltiples paneles), esto sería pequeños cambios como las actividades se mantendría principalmente como la versión actual
Si tu aplicación no se construye utilizando fragmentos, lo que he dicho anteriormente se aplica, pero también tendrías que hacer los fragmentos necesarios que envuelven la funcionalidad de tu aplicación. Esto probablemente resultaría en una refactorización de código grande.
Aquí hay un tutorial sobre la plantilla Maestro / Detalle en Android: un tutorial de Android / tutorial de flujo detallado .
Por lo que entiendo su aplicación está funcionando – así que no estoy seguro si vale la pena intentar volver a escribir, a menos que usted está experimentando algunos problemas, por supuesto. 🙂 En general, el flujo maestro / detalles requiere los siguientes pasos:
- Implementar un
ListFragment
muestra la información básica de sus elementos - Implementar un
Fragment
muestra información detallada sobre un elemento en particular - Realice un archivo de diseño xml para dispositivos grandes (ubicado en la carpeta
layout-sw600dp
por ejemplo). En esta disposición usted tiene que poner ambos sus fragmentos. - Escriba una versión general de este archivo de diseño (es decir, archivo con el mismo nombre pero ubicado en la carpeta de
layout
), que contiene sólo el ListFragment. - Deje que su actividad maneje el evento
onItemClick
desde elListFragment
. Cada vez que se hace clic en un elemento, debe comprobar si la actividad muestra los dos fragmentos o sólo elListFragment
. Si ambos están visibles, debe notificar al fragmento de detalles que el nuevo elemento está seleccionado para que pueda mostrar sus datos. De lo contrario, tendrá que crear fragmentos de nuevos detalles (lo reutilizará por supuesto), pasarle alguna información sobre el elemento seleccionado (para que pueda mostrar los datos del elemento) y reemplazar elListFragment
con el nuevo.
Que un resumen básico, pero debe ser suficiente para darle alguna idea acerca de este flujo. Si necesita más detalles, avíseme. 🙂
El flujo maestro / detallado y la actividad en blanco no son los mismos que desea cambiar cambiando el tema de la aplicación o el tema de la base de la aplicación. Será mejor, si primero diseña la plantilla de flujo de maestro / detalle usando fragmentos de interfaz de usuario, a continuación, integre la actividad en blanco con la plantilla maestra haciendo los cambios necesarios. Y para el maestro / tutorial de flujo de detalle sólo google, encontrará un montón de ejemplo.
Éstos son algunos enlaces de developer.android.com fragment-ui y adaptui
Estas son algunas directrices sobre los fragmentos, pero se les dice usando una aplicación maestro / Detalle.
También no se olvide de la caja de la aplicación lector de noticias proporcionada como muestra en el segundo enlace.
Si tiene una versión reciente del SDK de Android, debería poder crear una nueva aplicación de Android y durante ese proceso puede elegir que el asistente cree una aplicación de flujo maestro / detallado para usted. Se creará una aplicación básica de trabajo para que pueda mirar a través del código y comprender las partes necesarias.
Luego, dependiendo de lo simple que sea la aplicación, es posible que desee mover todo su código actual a la nueva aplicación o viceversa.
Cambios en las macros que sucederán:
- Cambie todas sus Actividades actuales para
extend Fragment
lugar. - Tendrás que crear una FragmentActivity para llamar a tus Fragmentos. Este será básicamente el código de la regla, con sólo los nombres de los fragmentos añadidos a ella.
- ¡No olvide revisar su Manifiesto!
En tus Fragmentos convertidos que anteriormente se extendieron Actividad:
- Dondequiera que necesitas un Contexto, cambia eso con
getActivty()
(o crea una variable global para que solo se llame una vez) -
Cambiar
onCreate()
apublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mView = inflater.inflate(R.layout.fragment_signals, container, false); setHasOptionsMenu(true); // Add if you want to display a Menu // Your initiation code here return mView; }
-
Si tiene un menú, cámbielo
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.activity_main, menu); super.onCreateOptionsMenu(menu, inflater); }
Y eso es para aplicaciones básicas. Cuando primero cambia Actividades a Fragmentos, habrá muchos errores. Pero, todos son fáciles de arreglar.
- Problemas para cancelar un CountDownTimer Android Java
- Selecciona aleatoriamente una cadena de strings.xml en Android