第三方框架就是一个工具
关键点:继承1-SlidingFragmentActivity
2-侧滑的layout使用FrameLayout,并将菜单的fragment替换到这个layout的Fragment
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sliding Menu Left"/>
<ListView android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/lvSlidingMenu"></ListView>
</FrameLayout>
住Activity的侧滑代码---public class MainActivity extends SlidingFragmentActivity
// TODO Auto-generated method stub
Fragment leftMenuFragment = new MenuLeftFragment();
setBehindContentView(R.layout.slidingmenu_left);
getSupportFragmentManager().beginTransaction()
.replace(R.id.llMain, leftMenuFragment).commit();
SlidingMenu slidngMenu = getSlidingMenu();
slidngMenu.setMode(SlidingMenu.LEFT);
// 设置触摸屏幕的模式
slidngMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
slidngMenu.setShadowWidthRes(R.dimen.slidingmenu_shadow_width);
slidngMenu.setShadowDrawable(R.drawable.sliding_menu_shadow);
// 设置滑动菜单视图的宽度
slidngMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
// 设置渐入渐出效果的值
slidngMenu.setFadeDegree(0.35f);
slidingmenu的一些动画缩放:
折叠动画
new CanvasTransformer() {
@Override
public void transformCanvas(Canvas canvas, float percentOpen) {
canvas.scale(percentOpen, 1, 0, 0);
}
}
放缩动画
new CanvasTransformer() {
@Override
public void transformCanvas(Canvas canvas, float percentOpen) {
float scale = (float) (percentOpen*0.25 + 0.75);
canvas.scale(scale, scale, canvas.getWidth()/2, canvas.getHeight()/2);
}
}
上升动画
private static Interpolator interp = new Interpolator() {
@Override
public float getInterpolation(float t) {
t -= 1.0f;
return t * t * t + 1.0f;
}
};
new CanvasTransformer() {
@Override
public void transformCanvas(Canvas canvas, float percentOpen) {
canvas.translate(0, canvas.getHeight()*(1-interp.getInterpolation(percentOpen)));
}
}

被折叠的 条评论
为什么被折叠?



