Android 界面(Fragment)切换

1.声明

private FragmentManager fManager;//管理Fragment界面

2.初始化

fManager = getSupportFragmentManager();

3.切换代码

	/**
     * Fragment切换
     *
     * @param index
     */
    private void setChoiceItem(int index) {
        FragmentTransaction transaction = fManager.beginTransaction();
        clearChoice();
        hideFragments(transaction);
        switch (index) {
            case 0:
                img_home.setBackgroundResource(R.drawable.home_select);
                if (home == null) {
                    home = new HomeFragment();
                    transaction.add(R.id.main_frame_layout, home);
                } else {
                    transaction.show(home);
                }

                break;

            case 1:
                img_message.setBackgroundResource(R.drawable.message_select);
                if (message == null) {
                    message = new MessageFragment();
                    transaction.add(R.id.main_frame_layout, message);
                } else {
                    transaction.show(message);
                }
                break;
            case 2:
                img_attention.setBackgroundResource(R.drawable.attention_select);
                if (attention == null) {
                    attention = new AttentionFragment();
                    transaction.add(R.id.main_frame_layout, attention);
                } else {
                    transaction.show(attention);
                }
                break;
            case 3:
                img_mine.setBackgroundResource(R.drawable.mine_select);
                if (mine == null) {
                    mine = new MineFragment();
                    transaction.add(R.id.main_frame_layout, mine);
                } else {
                    transaction.show(mine);
                }
                break;
        }
        transaction.commit();
    }

4.隐藏

	/**
     * 隐藏片段
     *
     * @param transaction
     */
    private void hideFragments(FragmentTransaction transaction) {
        if (home != null) {
            transaction.hide(home);
        }
        if (message != null) {
            transaction.hide(message);
        }
        if (attention != null) {
            transaction.hide(attention);
        }
        if (mine != null) {
            transaction.hide(mine);
        }
    }

5.清除选中样式

/**
     * 清除选中Fragment的样式
     */
    public void clearChoice() {
        img_home.setBackgroundResource(R.drawable.home_unselect);
        img_message.setBackgroundResource(R.drawable.message_unselect);
        img_attention.setBackgroundResource(R.drawable.attention_unselect);
        img_mine.setBackgroundResource(R.drawable.mine_unselect);
    }
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值