自己有个思路,在fragment的oncreateview的时候,把activity的动画给关闭。不知道谁还有更好的思路,,,
解决方案 »
- "Failed to find provider info for com. google setting"
- 求助啊,明明有adb,为什么不能运行啊
- intent 那里错了。。
- 怎样拿到android2.3源码?
- 求助大神,打算做个教务信息查询,可是POST返回的数据和浏览器的不一致
- 请问,关于用contentobserver监听短信的问题,附源码
- MediaRecorder录制视频,部分手机失败
- android中SVG矢量图动画问题,((Animatable) drawable).start();异常
- Android IjkPlayer内存泄漏问题
- 安卓上MP3怎么转amr?
- apk修改strings.xml后重新打包出错
- adb命令开启手机的一些功能,请问怎么操作?
会不会你在fragment 初始化时候执行了大量的运算?如果有代码, 就可以分析分析。
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
instance=MainActivity.this;
mControlCenter = FragmentControlCenter.getInstance(this);
mApplication=(EasyEditClientApplication) this.getApplication();
initViews(); initData();
} private void initViews() { setContentView(R.layout.main_slidemenu_layout);
initActionBar();
mRightIcon=(TextView) findViewById(R.id.iv_right_icon);
initSlideMenu(); } private void initSlideMenu() {
FragmentModel fragmentModel = mControlCenter.getHomeFragmentModel();
switchHomeContent(fragmentModel);
SlidingMenu sm = getSlidingMenu();
sm.setMode(SlidingMenu.LEFT_RIGHT);
setBehindContentView(R.layout.left_menu_frame);
sm.setSlidingEnabled(true);
sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
sm.setShadowWidthRes(R.dimen.shadow_width);
sm.setShadowDrawable(R.drawable.shadow);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportFragmentManager().beginTransaction()
.replace(R.id.left_menu_frame, new MenuFragment()).commit();
sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
sm.setBehindScrollScale(0);
sm.setFadeDegree(0.25f);
sm.setSecondaryMenu(R.layout.right_menu_frame);
sm.setSecondaryShadowDrawable(R.drawable.shadow);
getSupportFragmentManager().beginTransaction()
.replace(R.id.right_menu_frame, new SettingFragment()).commit();
} private void initActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setCustomView(R.layout.actionbar_layout);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
mLeftIcon = (ImageView) findViewById(R.id.iv_left_icon);
mRightIcon = (TextView) findViewById(R.id.iv_right_icon);
mLeftIcon.setOnClickListener(this);
mRightIcon.setOnClickListener(this);
mTitleTextView = (TextView) findViewById(R.id.tv_title);
} private void initData() { } public void switchContent(final FragmentModel fragment) {
mTitle = fragment.mTitle;
mContent = fragment.mFragment;
mRightIcon.setVisibility(8);
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, mContent).commit();
Handler h = new Handler();
h.postDelayed(new Runnable() {
public void run() {
getSlidingMenu().showContent();
}
}, 50); mTitleTextView.setText(mTitle);
} public void switchHomeContent(final FragmentModel fragment) {
mTitle = fragment.mTitle;
mContent = fragment.mFragment;
mRightIcon.setText("分类");
mRightIcon.setVisibility(0);
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, mContent).commit();
Handler h = new Handler();
h.postDelayed(new Runnable() {
public void run() {
getSlidingMenu().showContent();
}
}, 50); mTitleTextView.setText(mTitle);
}
public void switchDownContent(final FragmentModel fragment) {
mTitle = fragment.mTitle;
mContent = fragment.mFragment;
mRightIcon.setText("编辑");
mRightIcon.setVisibility(0);
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, mContent).commit();
Handler h = new Handler();
h.postDelayed(new Runnable() {
public void run() {
getSlidingMenu().showContent();
}
}, 50); mTitleTextView.setText(mTitle);
}
你这个仿qq的
左边是菜单fragment,右边是设置 fragment1 先关闭这两个的fragment的 replace操作。 看看效果。
2 将这两个fragment 的构建推迟到 主界面生成后执行。
额 有界面的截图来一张我的意思如果一个fragment 并没有马上显示的话 可以postDelay类似方法推迟(replace)
个人想法, 无效勿怪。
额 有界面的截图来一张我的意思如果一个fragment 并没有马上显示的话 可以postDelay类似方法推迟(replace)
个人想法, 无效勿怪。没事,我也不知道是什么原因,多参考下各方意见