1、简介
我们时常看到Android的一些菜单的设置 可以左右滑动,如下图。要实现下面的效果我们可以获得许多的实现在github 通过 收索 “SlidingMenu”。
本实验是在http://www.github.com/TangKe/SlideMenu基础上该的。
本次实验的实验的效果
2、具体的实现。
本次实验的基础是在上面提供的资源和code,应用到我们实验上面。
(1)、BaseSlideMenu
public class BaseSlideMenu extends FragmentActivity{
private SlideMenu slideMenu;
@Override
protected void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0);
setContentView(R.layout.layout_slidemenu);
}
@Override
public void onContentChanged() {
// TODO Auto-generated method stub
super.onContentChanged();
slideMenu=(SlideMenu) findViewById(R.id.slideMenu);
}
public void setSlideRole(int res){
if (null==slideMenu) {
return;
}
getLayoutInflater().inflate(res, slideMenu,true);
}
public SlideMenu getSlideMenu(){
return slideMenu;
}
}
(2)、MainActivity
public class MainActivity extends BaseSlideMenu {
@Override
public void onContentChanged() {
// TODO Auto-generated method stub
super.onContentChanged();
System.out.println(">>>>");
setSlideRole(R.layout.activity_main);
setSlideRole(R.layout.layout_primary_menu);
setSlideRole(R.layout.layout_secondary_menu);
}
}
(3)activity_main
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:slidemenudemo="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
slidemenudemo:layout_role="content"
android:background="#ffffff" >
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="主要的工作的页面" />
</LinearLayout>
注意: 在MainActivity中的三个布局都要 在根结点上面都要有
主界面 slidemenudemo:layout_role="content"
左菜单 slidemenudemo:layout_role="primaryMenu"
右菜单 slidemenudemo:layout_role="secondaryMenu"
注意:super.onContentChanged(); 一定要覆盖...
源码地址:
https://git.oschina.net/wbl/myslidemenu
ps:我们可以VelocityTracker.obtain() 可以调节上面的滚动的速度...