2011-10-22 11 views
6

¿Alguien sabe (o puede mostrarme un ejemplo) de cómo puedo desarrollar una aplicación que se comporte como honeycomb gmail? ¿Cómo puedo intercambiar entre diseños de cuadros y cambiar sus tamaños para mostrar los contenidos? como cuando haces clic en tu mensaje y luego el fragmento flota para dejar espacio para el mensaje, y el fragmento que contiene tus cuadros desaparece.Honeycomb Gmail Like Application

Respuesta

6

Creo que lo lamenta todo :) Proporcione un diseño para sus componentes, sugiero un LinearLayout con orientación horizontal. Luego, le agrega los tres fragmentos y oculta el tercero, que contiene el Mensaje.

FolderListFragment folderListFragment = new FolderListFragment(); 
MessageListFragment messageListFragment = new MessageListFragment(); 
MessageFragment messageFragment = new MessageFragment(); 

FragmentTransaction ft = getFragmentManager().beginTransaction(); 
ft.add(container_view_layout, folderListFragment); 
ft.add(container_view_layout, messageListFragment); 
ft.add(container_view_layout, messageFragment); 
ft.hide(messageFragment); 
ft.commit(); 

A continuación, cuando se quiere mostrar fragmento de mensaje:

void showMessage(Message message) { 
    // Initialize messageFragment 
    messageFragment.setMessage(message); 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left); 
    ft.hide(folderListFragment); 
    ft.show(messageFragment); 
    ft.commit(); 
} 

void showFolders() { 
    FragmentTransaction ft = getFragmentManager().beginTransaction(); 
    ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); 
    ft.hide(folderListFragment); 
    ft.show(messageFragment); 
    ft.commit(); 
} 

Y para las animaciones del slide_in_left para el fragmento carpeta sería, puede derivar los otros (400 es el ancho de la pieza):

<set> 
    <objectAnimator 
     android:propertyName="x" 
     android:duration="500" 
     android:valueFrom="-400" 
     android:valueTo="0" 
     android:valueType="intType"/> 
</set>