SlidingMenu的使用例子

一:我们要下载两个压缩包,就是ActionBarSherlock-master(压缩包下载地址:https://github.com/jfeinstein10/SlidingMenu)和SlidingMenu-master(压缩包下载地址:http://actionbarsherlock.com/)。
 
二:下载之后,我们将这两个包解压。首先导入ActionBarSherlock-master中的actionbarsherlock工程到Eclipse(与平时导入已存在工程的步骤类似,只不过现在只是选择这个ActionBarSherlock-master中的actionbarsherlock这个文件导入),导入成功之后,右击actionbarsherlock工程—— 选择Properties —— Android—— 在Is Library的左边的复选框中打勾——Apply——OK。
 
三:导入SlidingMenu-master中的library工程到Eclipse。导入成功之后,右击library工程 —— 选择Properties —— Android—— 在Is Library的左边的复选框中打勾——点击右边的Add...按钮——选择actionbarsherlock,点击OK——Apply——OK。  这时候我们还发现library工程中的SlidingFragmentActivity有报错,Eclipse说找不到FragmentActivity,但我们发现它已经导入import android.support.v4.app.FragmentActivity;原来是因为actionbarsherlock.jar包中的android.support.v4和library工程中的android.support.v4冲突,这时候我们要删掉library工程中的android.support.v4。
 
四:导入SlidingMenu-master中的example工程到Eclipse右击ExampleListActivity工程 —— 选择Properties —— Android——点击右边的Add...按钮——选择library,点击OK——Apply——OK。但这时候我们看到ExampleListActivity工程中的BaseActivity.class,ResponsiveUIActivity.class报错。则此时我们要做的是将library工程中的SlidingActivity,SlidingFragmentActivity,SlidingPreferenceActivity继承的Activity做下面的修改。
SlidingActivity extends SherlockActivity
SlidingFragmentActivity extends SherlockFragmentActivity
SlidingPreferenceActivit y extends SherlockPreferenceActivi ty
 
保存好之后,再右击ExampleListActivity工程 —— 选择Properties —— Android—— 点击右边的Remove按钮——点击右边的Add...按钮——选择library,点击OK——Apply——OK。这时候就没有报错了。好了这时候可以运行ExampleListActivity工程啦(*^__^*)。
 
注意:如果是自己创建的工程中将library作为引进的包,则需要让工程ActionBarSherlock-master、SlidingMenu-master和自己创建的工程在一个目录下。
 
 
下面是创建一个工程,将Library包Add成该工程的依赖包。在这里我自己创建的MainActivity.class 继承了Library中的SlidingFragmentActivity。其中的SampleListFragment是继承了ListFragment,也可以自己定义成其他类型的Fragment。
 

package com.example.menudemo;

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;

import android.os.Bundle;
import android.app.Activity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.ListFragment;
import android.view.Menu;

public class MainActivity extends SlidingFragmentActivity {
 ListFragment mFrag;

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setTitle("SlidingMenu");
  setFirstFragment(savedInstanceState);
  //下面这两句不能少,否则不会出现第三个Fragment
  getSlidingMenu().setMode(SlidingMenu.LEFT_RIGHT);
  getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
  
  //第一个Fragment
  setContentView(R.layout.main);
  getSupportFragmentManager().beginTransaction()
    .replace(R.id.menu1, new SampleListFragment()).commit();

  //第三个Fragment
  getSlidingMenu().setSecondaryMenu(R.layout.menu_frame2);
  getSlidingMenu().setSecondaryShadowDrawable(R.drawable.shadowright);
  getSupportFragmentManager().beginTransaction()
    .replace(R.id.menu2, new SampleListFragment()).commit();
 }

  //中间的Fragment
 private void setFirstFragment(Bundle savedInstanceState) {
  setBehindContentView(R.layout.menu_frame);
  if (savedInstanceState == null) {
   FragmentTransaction t = this.getSupportFragmentManager()
     .beginTransaction();
   mFrag = new SampleListFragment();
   t.replace(R.id.menu_frame, mFrag);
   t.commit();
  } else {
   mFrag = (ListFragment) this.getSupportFragmentManager()
     .findFragmentById(R.id.menu_frame);
  }

  // customize the SlidingMenu
  SlidingMenu sm = getSlidingMenu();
  sm.setShadowWidthRes(R.dimen.shadow_width);// 阴影的宽度
  sm.setShadowDrawable(R.drawable.shadow);// 设置阴影
  sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
  sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

  getSupportActionBar().setDisplayHomeAsUpEnabled(true);

 }

}

不知道怎么插入图片,都是文字,有点费解。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值