【问题标题】:Honeycomb Gmail Like ApplicationHoneycomb Gmail Like 应用程序
【发布时间】:2011-10-22 05:52:22
【问题描述】:

有谁知道(或可以给我举个例子)我如何开发一个行为就像蜂窝 gmail 的应用程序? 如何在框架布局之间切换并更改其大小以显示内容。就像当你点击你的消息然后片段向左浮动为消息腾出空间时,包含你的框的se片段消失了。

【问题讨论】:

    标签: android gmail android-3.0-honeycomb fragment


    【解决方案1】:

    我觉得你很难过 :) 为你的组件提供一个布局,我建议使用水平方向的 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多