近日在开发过程中使用popwindows做了一套仿Actionbar上的小菜单,感觉效果还不错,就对其做了一个简单的封装,方便外部调用,由于实现也不是很复杂,所以在这里就不讲解代码了,下来简单描述一下使用场景及步骤。
源码下载地址:点击下载
使用场景:
由于很多情况下我们的应用需要一个个性化的标题栏,除了自定义actionbar以外,还有一个更为简便的方法就是将actionbar直接隐藏,自己用布局仿出来一个actionbar,这样在放置图片文字等控件以及在设置其位置大小等属性时都有很大的灵活性,但是如此一来也失去了actionbar上自带的可隐藏的栏目项,即我们非常熟悉的微信右上角的那种小菜单,所以在这里我们使用popwindows来实现这样的一种效果。
使用步骤:
1、在需要添加该菜单的布局对应的类上引用poplistener接口,实现以下四种方法:
@Override
public void clickzhengzxu() {
// TODO Auto-generated method stub
Toast.makeText(this, "正序", 0).show();
}
@Override
public void clickdaoxu() {
// TODO Auto-generated method stub
Toast.makeText(this, "倒序", 0).show();
}
@Override
public void clickdelete() {
// TODO Auto-generated method stub
Toast.makeText(this, "删除", 0).show();
}
@Override
public void clickadd() {
// TODO Auto-generated method stub
Toast.makeText(this, "新增", 0).show();
}
在这四个方法中你可以添加每个菜单项单击后所要实现的内容。
2、声明并初始化封装类
poplist_for4 pl4=new poplist_for4();
3、在oncreate方法中绑定接口并调用封装类方法
pl4.pl=this; //指定封装类中的接口即为当前接口
pl4.initpoplist(this);//调用封装类中的初始化方法
more.setOnClickListener(new OnClickListener() {//more为你自己右上角要点击的控件
@Override
public void onClick(View v) {
pl4.addpoplist(more);//调用封装类中添加菜单的方法,实现点击more弹出菜单
}
});
至此你的右上角小菜单就已经实现了,如果需要更改菜单选项,阅读源码后自己进行定制就行。
另外,在弹出以后点击小菜单以外的任何地方都可以使小菜单收回。
实现的截图如下: