qualcuno sa (o può mostrarmi un esempio) di come posso sviluppare un'applicazione che si comporta proprio come honeycomb gmail? Come posso passare da un layout di cornice all'altro e modificarne le dimensioni per visualizzare i contenuti. come quando fai clic sul tuo messaggio e poi il frammento galleggia a sinistra per lasciare spazio al messaggio e scompare il frammento contenente le caselle.Gmail a nido d'ape come l'applicazione
6
A
risposta
6
Penso che sia triste tutto :) Fornire un layout per i componenti, Suggerirei un LinearLayout con orientamento orizzontale. Poi aggiungi tutti e tre i frammenti e nascondi il terzo - contenente il messaggio.
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();
Poi, quando si desidera visualizzare un messaggio frammento:
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();
}
E per le animazioni del slide_in_left per frammento cartella sarebbe, è possibile derivare le altre (400 è la larghezza del componente):
<set>
<objectAnimator
android:propertyName="x"
android:duration="500"
android:valueFrom="-400"
android:valueTo="0"
android:valueType="intType"/>
</set>