我正在尝试将 SlidingMenu 添加到我的 Activity 中。我的代码如下所示:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
informationMenu = new SlidingMenu(this);
informationMenu.setMode(SlidingMenu.LEFT);
informationMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
informationMenu.setTouchModeBehind(SlidingMenu.TOUCHMODE_MARGIN);
informationMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
informationMenu.attachToActivity(this, SlidingMenu.SLIDING_WINDOW);
informationMenu.setMenu(R.layout.main_info);
informationMenu.setTouchModeBehind(SlidingMenu.TOUCHMODE_MARGIN);
informationMenu.setOnOpenListener(new SlidingMenu.OnOpenListener() {
@Override
public void onOpen() {
helpMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_NONE);
}
});
informationMenu.setOnClosedListener(new SlidingMenu.OnClosedListener() {
@Override
public void onClosed() {
helpMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
}
});
}
但是在添加这个之后,我经常会在 Activity 开始前看到黑屏 1 或 2 秒。我曾尝试使用 AsyncTask 来创建菜单,但我没有收到很大的改进。有可能修复它吗?
附言我正在使用这个库:https://github.com/jfeinstein10/SlidingMenu
最佳答案
您是否在每个 Activity 或某些基础/父 Activity 中都有这个?
在我自己的项目中,这种代码只有一次,在 BaseActivity 中。
另外,我只用这个;
// set the Behind View
setBehindContentView(R.layout.menu_frame);
FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
mFrag = new MenuListFragment();
t.replace(R.id.menu_frame, mFrag);
t.commit();
// Customize the SlidingMenu
SlidingMenu sm = getSlidingMenu();
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setShadowDrawable(R.drawable.shadow);
sm.setBehindScrollScale(0.25f);
sm.setFadeDegree(0.25f);
你可以在 https://code.google.com/p/my-curriculum-vitae/source/checkout 看到我是怎么做的,自从我从事这项工作以来已经有一段时间了,所以不再 100% 确定了。
关于android - SlidingMenu 在显示 Activity 之前创建延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15135561/