Android UI开发第二十八篇——Fragment中使用左右滑动菜单_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android UI开发第二十八篇——Fragment中使用左右滑动菜单

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

 2013/8/9 13:22:16  张兴业  博客园  我要评论(0)
  • 摘要:Fragment实现了AndroidUI的分片管理,尤其在平板开发中,好处多多。这一篇将借助AndroidUI开发第二十六篇——Fragment间的通信、AndroidUI开发第二十七篇——实现左右划出菜单来实现。看图1的效果,左边使用LeftFragment实现,中间使用的CenterFragment实现
  • 标签:android 使用 滑动 开发 菜单

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

class="java">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间的通信。

 


                 图1

 

/** * @author 张兴业 *  http://blog.csdn.net/xyz_lmn *  http://www.cnblogs.com/xyzlmn/ *  iOS入门群:83702688
*  android开发进阶群:241395671 *  我的新浪微博@张兴业TBOW *  我的邮箱:xy-zhang#163.com#->@) */

 

上一篇: “坑爹”的微软Surface 下一篇: 没有下一篇了!
发表评论
用户名: 匿名