android左右滑动fragment,Android UI开发第二十八篇——Fragment中使用左右滑动菜单

Fragment实现了Android UI的分片管理,尤其在平板开发中,好处多多。这一篇将借助Android UI开发第二十六篇——Fragment间的通信、 Android UI开发第二十七篇——实现左右划出菜单 来实现。看图1的效果,左边使用LeftFragment实现,中间使用的CenterFragment实现。

public class SlidingActivity extends FragmentActivity implements LeftShowCenter{

private SlidingMenu mSlidingMenu;

private CenterFragment centerFragment;

@Override

protected void onCreate(Bundle arg0) {

super.onCreate(arg0);

setContentView(R.layout.main);

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

mSlidingMenu = (SlidingMenu) findViewById(R.id.slidingMenu);

mSlidingMenu.setLeftWidth((dm.widthPixels / 5) * 2);

mSlidingMenu.setRightWidth((dm.widthPixels / 5) * 3);

View leftView = getLayoutInflater().inflate(R.layout.left_frame, null);

View rightView = getLayoutInflater().inflate(R.layout.right_frame, null);

View centerView = getLayoutInflater().inflate(R.layout.center_frame, null);

mSlidingMenu.setLeftView(leftView);

mSlidingMenu.setRightView(rightView);

mSlidingMenu.setCenterView(centerView);

FragmentTransaction t = this.getSupportFragmentManager()

.beginTransaction();

LeftFragment leftFragment = new LeftFragment();

t.replace(R.id.left_frame, leftFragment);

RightFragment rightFragment = new RightFragment();

t.replace(R.id.right_frame, rightFragment);

centerFragment = new CenterFragment();

t.replace(R.id.center_frame, centerFragment);

t.commit();

}

public void showLeft() {

mSlidingMenu.showLeftView();

}

public void showRight() {

mSlidingMenu.showRightView();

}

public void showCenter() {

mSlidingMenu.showCenterView();

}

@Override

public void leftShowCenter(int id) {

// TODO Auto-generated method stub

if(centerFragment!=null){

centerFragment.updateView(id);

}

}

}

SlidingActivity继承自FragmentActivity,实现了LeftShowCenter的接口方法,LeftShowCenter接口的主要目的是实现Fragment间的通信。

7f17b63ee80d474558264b94888b3b6b.png

图1

/**

* android开发进阶群:241395671

*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值