Android第三方类库:slidingmenu 实现侧滑菜单

来源:互联网 发布:互联网电商公关 知乎 编辑:程序博客网 时间:2024/05/21 23:27

1.首先导入slidingmenu的library,该library中含有android.support.v4包,如项目中已含有该包,应将项目中的v4包删除。

2.实现方法一:需要加入侧滑菜单的activity继承SlidingFragmentActivity。然后在setContentView()方法后再调用


setBehindContentView(R.layout.left_sliding_menu);方法。如果不调用该法发,则抛出异常,程序终止。

下面的方法对侧滑菜单进行定义。

public void initSlidingMenu() {
// 获取到SlidingMenu对象,然后设置一些常见的属性
SlidingMenu sm = getSlidingMenu();
// 设置阴影的宽度
// sm.setShadowWidth(0);
// 设置阴影的颜色
// sm.setShadowDrawable(R.drawable.btn_danger);
// 设置侧滑栏完全展开之后,距离另外一边的距离,单位px,设置的越大,侧滑栏的宽度越小
sm.setBehindOffset(200);
// 设置渐变的程度,范围是0-1.0f,设置的越大,则在侧滑栏刚划出的时候,颜色就越暗。1.0f的时候,颜色为全黑
// sm.setFadeDegree(0.3f);
// 设置触摸模式,可以选择全屏划出,或者是边缘划出,或者是不可划出
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
}

弹出菜单,则在activity中调用toggl()方法即可。()


如要实现两侧菜单,则要借助fragment来实现;

1.在setBehindContentView(R.layout.lcontainer);中,用一个容器布局作为参数;

2.当要弹出左侧菜单时,调用以下方法:

public void showLeft(View v) {
                //开启fragment事务FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
                //创建一个新的leftfragment(也可以只实例化一次作为全局变量使用),LeftFragment是自定义frament子类,重写了oncreateview方法,仅仅是设置布局,把想要的左侧布局作为参数传入。Fragment leftFragment = new LeftFragment();
                //当要显示左侧菜单时,放置该fragment到容器内transaction.replace(R.id.fragment_container, leftFragment);transaction.commit();SlidingMenu sm = getSlidingMenu();sm.setMode(SlidingMenu.LEFT);toggle();}
3.右侧同理,当要显示右侧时,用自定义的右侧fragment放置到容器中。

LeftFragment源码:

package fragment;import com.zaixianboshi.R;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;public class LeftFragment extends Fragment {@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreateView(inflater, container, savedInstanceState);return inflater.inflate(R.layout.left_sliding_menu, container,false);}}



0 0
原创粉丝点击