android中slidemenu的开源项目的学习

要实现slidemenu的效果,需要下载两个开源项目:

SlideMenu和ActionBarSherlock这两个开源项目,下载地址分别如下:

https://github.com/jfeinstein10/SlidingMenu.git

https://github.com/JakeWharton/ActionBarSherlock.git

注意:

我在下载的时候遇到点问题,开始我是用git工具下载的,发现下载下来的包中只有源码,不包含工程里面依赖的资源文件。后面又直接去下载了压缩包,所以建议下载的时候直接下载压缩包。


下载完了之后,就是将压缩包解压倒Eclipse的workspace 文件夹,然后在Eclipse中File>new Android Project From Existing code新建一个Android工程。ActionBarSherlock这个项目压缩包解压完了之后,有三个工程,我只新建了第一个actionbarsherlock工程。而SlideMenu这个开源项目压缩包中页游三个项目,两个lib一个很好的demo(很有参考价值,因此也建议导进去),我是将整个解压文件都导入进去了,会创建连个工程,一个名叫Library(这个就是依赖工程),还有一个demo工程。


导入之后可能出现问题需要将导入的每一个工程里面的libs文件夹下面的android-support-v4.jar更新到最新,更新方法如下:

首先删掉libs下原有的android-support-v4.jar,然后选中当前工程,右键>Android Tools>Android Support Library。(注意:每一个导入的工程都有更新)

这步之后,就可以新建一个自己的Android工程,然后选中工程,右键>properties>Android,在下面的Llibrary里面Add进来Library工程和actionbarsherlock工程。


在自己的工程中,新建一个Activity继承SlidingFragmentActivity,在onCreate方法里面加载一个Fragment:

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setTitle(mTitleRes);
		setBehindContentView(R.layout.menu_frame);
		if (savedInstanceState == null) {
			FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
			mFragment = new SimpleFragment();
			t.replace(R.id.menu_frame, mFragment);
			t.commit();
		} else {
			mFragment = (SimpleFragment)this.getSupportFragmentManager().findFragmentById(R.id.menu_frame);
		}
	}

创建一个Menu,并绑定监听器,用来实现slidemenu的滑动(默认是从左到右):

	public boolean onOptionsItemSelected(android.view.MenuItem item) {
		switch (item.getItemId()) {
		case android.R.id.home:
			toggle();
			return true;
		}
		return super.onOptionsItemSelected(item);
	}

	public boolean onCreateOptionsMenu(android.view.Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

然后用MainActivity继承上面的那个Activity,就可以实现一个简单的SlideMenu功能:

public class MainActivity extends BaseActivity {

	public MainActivity() {
		super(R.string.app_name);
		// TODO Auto-generated constructor stub
	}

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
}

SimpleFragment的代码,slideMenu中要显示的内容就在这里面定义:

public class SimpleFragment extends Fragment{

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		Log.d("Tag", "Start to Inflating View...");
		return inflater.inflate(R.layout.simple_fragment_layout, null);
	}
}

至此,一个简单的Slidemenu效果就已经实现了。SlideMenu还有很多强大的功能,很多很棒的效果,具体可以参考Demo工程里面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值