【问题标题】:Custom animation of fragment transaction disappears when hide keyboard隐藏键盘时片段交易的自定义动画消失
【发布时间】:2013-11-22 17:57:29
【问题描述】:

我有一个带有 4 个片段(MyNavigationBarMaster、MyNavigationBarDetails、Master e Details)的平板电脑应用。

我使用 Fragment 事务和自定义动画(iphon-style)如下:

FragmentTransaction mfragmentTransaction = getFragmentManager().beginTransaction();
mfragmentTransaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_out_right, R.anim.slide_in_right);
mfragmentTransaction.replace(R.id.MenuMFragment, new PeopleMFragment());
mfragmentTransaction.addToBackStack(null).commit();

这没问题,但是当我尝试在 PeopleMFragment() 中使用此代码以编程方式隐藏键盘时:

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    final InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(getView().getWindowToken(), 0);
}

fragment 交易动画不工作,但键盘被隐藏,fragment 已正确连接。

为什么?问题是键盘和xml动画有一个线程吗? 其他人有同样的问题?在此先感谢

【问题讨论】:

    标签: android android-fragments android-animation android-softkeyboard


    【解决方案1】:

    用方法试试。 (我试过 HTC 的欲望)

    public void nextFragment(){
    
        //close keyboard
        InputMethodManager inputMethodManager = (InputMethodManager)  getActivity().getSystemService(Activity.INPUT_METHOD_SERVICE);
        inputMethodManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 0);
    
        //remove focus, to remove any "auto-suggestions" views from the text field
        getActivity().getCurrentFocus().clearFocus();
    
        //change fragment
        Fragment2 newFragment = new Fragment2();
        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.setCustomAnimations(R.animator.slide_in_left, R.animator.slide_out_right);
        transaction.replace(R.id.fragmentContainer, newFragment);
        transaction.addToBackStack(null);
        transaction.commit();
    
    }//nextFragment
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 2023-03-30
      • 2021-12-16
      相关资源
      最近更新 更多