0
在询问之前,我浏览了几天,但找不到任何东西来完全回答我的问题。我有一个框架内有两个片段。当我从一个片段切换到另一个片段时,当帧中存在另一个片段时,它会滞后。我尝试在转场时隐藏,但看起来不太好。在Android上从一个片段到另一个片段时的动画滞后
MainActivity(帧):
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ft = getSupportFragmentManager().beginTransaction();
HomePage homeFrag = new HomePage(); //create game fragment
ft.add(R.id.activity_main, homeFrag, "Home");
ft.show(homeFrag);
ft.commit();
片段1:
startNewGame.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Thread thread = new Thread()
{
@Override
public void run()
{
//ft.hide(frag);
ft.setCustomAnimations(R.anim.enter_from_right, R.anim.exit_to_left, R.anim.enter_from_right, R.anim.exit_to_left);
ft.replace(R.id.activity_main, new PlayGame(), "PlayGame");
ft.addToBackStack("Home");
ft.commit();
}
};
thread.run();
}
});
片段2:
public android.view.View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.play_game, container, false);
v.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
if(keyEvent.getKeyCode() == keyEvent.KEYCODE_BACK)
{
ft = getFragmentManager().beginTransaction();
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
return true;
} else
{
return false;
}
}
});
return v;
谢谢您的帮助!
您是否正在使用较慢的电脑来运行您的模拟器?并在仿真器上测试它?或低内存设备,这可能是问题 – user7568042
我有一个GTX970,但我会尝试加强一个新的模拟器,并尝试。谢谢 :) –