6
没有人知道(或者可以给我一个例子)我该如何开发一个行为就像蜂窝Gmail一样的应用程序? 如何在框架布局间切换并更改其大小以显示内容。比如当你点击你的信息,然后片段向左移动以留出信息的空间,并且包含你的信息片段消失。Honeycomb Gmail Like Application
没有人知道(或者可以给我一个例子)我该如何开发一个行为就像蜂窝Gmail一样的应用程序? 如何在框架布局间切换并更改其大小以显示内容。比如当你点击你的信息,然后片段向左移动以留出信息的空间,并且包含你的信息片段消失。Honeycomb Gmail Like Application
我觉得你难过这一切:)为你的组件提供一个布局,我会建议一个水平方向的LinearLayout。然后,您将所有三个片段添加到它,并隐藏第三个 - 包含消息。
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();
然后,当你想显示消息片段:
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();
}
而对于动画的文件夹片段slide_in_left会是这样,你可以得到别人(400是组件的宽度):
<set>
<objectAnimator
android:propertyName="x"
android:duration="500"
android:valueFrom="-400"
android:valueTo="0"
android:valueType="intType"/>
</set>