`
疯狂的犀牛
  • 浏览: 34679 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

fragment menu

 
阅读更多

/**
 * Demonstrates how fragments can participate in the options menu.
 */
public class FragmentMenu extends Activity {
    Fragment mFragment1;
    Fragment mFragment2;
    CheckBox mCheckBox1;
    CheckBox mCheckBox2;

    // Update fragment visibility when check boxes are changed.
    final OnClickListener mClickListener = new OnClickListener() {
        public void onClick(View v) {
            updateFragmentVisibility();
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_menu);

        // Make sure the two menu fragments are created.
        FragmentManager fm = getFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
        mFragment1 = fm.findFragmentByTag("f1");
        if (mFragment1 == null) {
            mFragment1 = new MenuFragment();
            ft.add(mFragment1, "f1");
        }
        mFragment2 = fm.findFragmentByTag("f2");
        if (mFragment2 == null) {
            mFragment2 = new Menu2Fragment();
            ft.add(mFragment2, "f2");
        }
        ft.commit();

        // Watch check box clicks.
        mCheckBox1 = (CheckBox)findViewById(R.id.menu1);
        mCheckBox1.setOnClickListener(mClickListener);
        mCheckBox2 = (CheckBox)findViewById(R.id.menu2);
        mCheckBox2.setOnClickListener(mClickListener);

        // Make sure fragments start out with correct visibility.
        updateFragmentVisibility();
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        super.onRestoreInstanceState(savedInstanceState);
        // Make sure fragments are updated after check box view state is restored.
        updateFragmentVisibility();
    }

    // Update fragment visibility based on current check box state.
    void updateFragmentVisibility() {
        FragmentTransaction ft = getFragmentManager().beginTransaction();
        if (mCheckBox1.isChecked()) ft.show(mFragment1);
        else ft.hide(mFragment1);
        if (mCheckBox2.isChecked()) ft.show(mFragment2);
        else ft.hide(mFragment2);
        ft.commit();
    }

    /**
     * A fragment that displays a menu.  This fragment happens to not
     * have a UI (it does not implement onCreateView), but it could also
     * have one if it wanted.
     */
    public static class MenuFragment extends Fragment {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setHasOptionsMenu(true);
        }

        @Override
        public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
            menu.add("Menu 1a").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
            menu.add("Menu 1b").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        }
    }

    /**
     * Second fragment with a menu.
     */
    public static class Menu2Fragment extends Fragment {

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setHasOptionsMenu(true);
        }

        @Override
        public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
            menu.add("Menu 2").setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        }
    }
}
 
分享到:
评论

相关推荐

    fragment_menu底部菜单

    在Android应用开发中,"fragment_menu底部菜单"是一种常见的设计模式,用于实现应用程序的主要功能区域。这个设计通常包括一个底部导航栏,展示多个菜单选项,每个菜单对应一个Fragment,用户可以通过点击菜单项来...

    Fragment复用和Fragment独立Toorbar Menu

    Toorbar现在已经被广泛使用了,但是多个Fragment之间使用Toorbar的使用可能会遇到menu消失的问题,单就本来这点不必成文,但是一想到好像还没有写过关Fragment声明周期的和复用的文章,就干脆记录一下算了,后面如果...

    ActionBar和Fragment的经典实例

    总的来说,`ActionBar`、`Fragment`、`Menu`和`Tag`是Android开发中增强用户界面和交互性的关键工具。熟练掌握这些组件的使用,能够帮助开发者创建出更专业、更富有层次感的Android应用。在实际项目中,应根据应用的...

    Fragment实现底部菜单切换

    在Android应用开发中,Fragment是Android SDK提供的一种用于在Activity中动态管理多个界面或视图的组件。"Fragment实现底部菜单切换"这个主题涉及到的是如何使用Fragment来构建类似新浪微博那样的多页面应用,其中...

    demo教你如何实现同一个activity加载不同的fragment 同时实现activity和fragment之间的数据交换

    在Android应用开发中,Fragment是UI组件的一部分,它可以在Activity中动态添加、移除或替换。Fragment提供了更灵活的方式来组织用户界面,特别是在大屏幕设备上,可以实现多面板布局。本教程将通过一个名为"test2"的...

    fragment的菜单功能

    inflater.inflate(R.menu.fragment_menu, menu); super.onCreateOptionsMenu(menu, inflater); } ``` 这里的`R.menu.fragment_menu`是指向包含菜单项定义的XML资源文件。在res/menu目录下,你可以创建如下的XML...

    Android Studio 使用BottomNavigationView 实现底部 tabs (一)

    app:menu="@menu/bottom_navigation_menu" app:labelVisibilityMode="labeled" /> ``` 接着,创建`bottom_navigation_menu.xml`文件,定义菜单项: ```xml <menu xmlns:android=...

    android下使用Fragment实现左侧3级菜单+动画效果

    在Android应用开发中,Fragment是UI组件的重要组成部分,它允许开发者在同一个Activity中展示多个界面。本教程将详细讲解如何在Android环境下利用Fragment构建一个具有3级菜单的侧滑导航栏,并实现相应的动画效果。 ...

    Fragment实例二(源码)

    case R.id.menu_item_fragment02: // 获取FragmentManager FragmentManager fragmentManager = getSupportFragmentManager(); // 开始一个新的Fragment事务 FragmentTransaction transaction = fragmentManager...

    FragmentActivity管理Fragment(碎片)实现底部菜单切换

    效果图看上一版本http://www.apkbus.com/android-116690-1-1.html,上一版本是利用activitygroup实现底部菜单切换,基于现在都不太赞同用,于是简单地利用fragment 来实现了这一效果,IndexActivity为底部菜单的首页...

    fragment底部导航栏

    在`bottom_navigation_menu.xml`中定义底部导航栏的菜单项,每个菜单项对应一个Fragment。 ```xml <!-- bottom_navigation_menu.xml --> <menu xmlns:android="http://schemas.android.com/apk/res/android"> ...

    android+Fragment实现页面的局部跳转

    在Android应用开发中,尤其是针对平板电脑的大屏幕设计,Fragment是一个至关重要的组件。Fragment是Android 3.0(API级别11)引入的概念,旨在提供更灵活的界面设计,允许开发者将用户界面拆分为可独立操作的部分。...

    安卓底部菜单+Fragment

    在Android应用开发中,"安卓底部菜单+Fragment"是一个常见的设计模式,用于提供多页面间的切换和导航。这个设计通常采用底部导航栏(Bottom Navigation)结合Fragment来实现,旨在为用户提供直观、便捷的操作体验。...

    android fragment 使用以及嵌套使用 底部菜单和顶部菜单

    在Android应用开发中,Fragment是Android SDK提供的一种用于构建可重用、可组合的UI组件。Fragment主要用于在大型屏幕上(如平板电脑)更好地组织界面,但也在手机应用中广泛使用,尤其是在实现多面板布局时。本教程...

    fragment 底部导航 简单demo

    在Android应用开发中,Fragment是UI组件的一种,它允许我们把一个复杂的用户界面分解成多个独立的部分,每个部分称为一个Fragment。底部导航(Bottom Navigation)是Android设计指南中推荐的一种导航模式,它提供了...

    模仿新浪微博界面Fragment应用

    通过设置它的menu资源,可以添加多个选项,每个选项对应一个Fragment。当用户点击不同的菜单项时,切换到对应的Fragment。 4. **FragmentTransaction**:在Activity中,我们需要使用FragmentManager和...

    Fragment的使用—底部菜单栏以及数据的保存

    在Android应用开发中,Fragment是UI组件的重要组成部分,它允许我们构建可动态组合和分解的用户界面。在本文中,我们将深入探讨如何使用Fragment来创建一个具有底部菜单栏的应用,并在选项卡之间切换时保持每个...

    使用Fragment实现底部菜单的切换

    在Android应用开发中,`Fragment`是一个非常关键的组件,它允许我们把应用程序的界面划分为可重用的模块。`Fragment`的概念引入是为了更好地支持平板电脑和其他大屏幕设备,但如今它已经成为构建动态和复杂用户界面...

    简单而精致的 Fragment 菜单控件,它可以让你切换 Fragment 的时候眼前一亮.zip

    - **thumbnail menu**: 缩略图菜单是一种特殊的导航方式,用户可以通过选择缩略图来快速切换到相应的Fragment,视觉效果独特且易于操作。 2. **工作原理**: - **动态切换**:ThumbnailMenu控件会根据用户的点击...

    BottomNavigationBar+Fragment

    在Android应用开发中,`BottomNavigationBar` 和 `Fragment` 是两个关键组件,它们共同用于构建交互丰富的用户界面。本文将详细讲解如何使用这两个组件来实现一个底部导航栏的效果,并在同一个Activity下切换不同的...

Global site tag (gtag.js) - Google Analytics