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,但我會嘗試加強一個新的模擬器,並嘗試。謝謝 :) –