Android中使用开源框架SlidingMenu构建左滑菜单栏

         在android中我们经常会用到类似于网易新闻客户端中的左侧菜单栏。一般自己手写都比较复杂,而且也会耗费大量的时间,为了提高开发效率,我们可以直接使用一个开源框架SlidingMenu来构建菜单栏。

         以我自己写的一个项目为例:在屏幕的左侧构建一个隐藏的菜单栏,布局是Fragment来写的。

        器使用方法如下:

        1、创建一个自己的类继承于Fragment,并且为它填充好数据,这样左侧菜单栏的整个UI,我们就搭建好了。

         代码:

         

<span style="font-family:SimSun;font-size:14px;"><span style="font-family:KaiTi_GB2312;font-size:18px;">private View view;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		
		super.onCreate(savedInstanceState);
	}
	/**
	 * 加载UI
	 */
	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		  view = View.inflate(getActivity(), R.layout.list_view, null);
		return view;
	}
	/**
	 * 填充数据
	 */
	@Override
	public void onActivityCreated(Bundle savedInstanceState) {		
		super.onActivityCreated(savedInstanceState);
		ListView listview = (ListView) view.findViewById(R.id.list_view);
		listview.setAdapter(new ArrayAdapter<String>(getActivity(),
				android.R.layout.activity_list_item, 
				android.R.id.text1, 
				getData()));
	}
	private List<String> getData() {
		List<String> list=new ArrayList<String>();
		list.add("fragment1");
		list.add("fragment2");
		list.add("fragment3");
		list.add("fragment4");
		return list;
	}</span></span>
        创建好菜单栏的UI以后,我们就可以创建一个Activity来使用这个菜单栏了,其使用步骤如下:

       

<span style="font-family:SimSun;font-size:14px;"><span style="font-family:KaiTi_GB2312;font-size:18px;">private SlidingMenu sm;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		super.onCreate(savedInstanceState);
		//设置侧滑菜单的布局
		setBehindContentView(R.layout.menu_frame);
		//设置内容页的布局
		setContentView(R.layout.content);
		//创建一个SlidingMenu对象
		sm=getSlidingMenu();
		//设置侧滑菜单的位置
		sm.setMode(SlidingMenu.LEFT);
		//设置侧滑菜单的滑动方式,此模式代表全屏都可以滑动
		sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);		
		//设置侧滑菜单的阴影
		sm.setShadowDrawable(R.drawable.shadow);
		//设置侧滑菜单阴影的宽度
		sm.setShadowWidthRes(R.dimen.activity_shadow_width);
		//设置侧滑菜单剩余的剩余宽度
		sm.setBehindOffsetRes(R.dimen.activity_context);
  
		SlidingMenuFragment smf=new SlidingMenuFragment();
		//拿到Fragment的管理器
	    FragmentManager fm=getSupportFragmentManager();
	    //开启事物
	    fm.beginTransaction()
	    //替换帧布局
	    .replace(R.id.menu, smf,"menu")
	    //提交事物
	    .commit();
	}</span></span>
          这样我们一个左侧菜单栏的项目就做好啦,接下来我们就可以去测试啦。如图就是我们需要的效果啦。当然这个是划开的效果,向左滑动,就可以隐藏了,是不是很方便啦。

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值