gpt4 book ai didi

android - 隐藏键盘时 fragment 事务的自定义动画消失

转载 作者:行者123 更新时间:2023-11-30 03:15:46 27 4
gpt4 key购买 nike

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

我按如下方式使用 Fragment 事务和自定义动画(iphon 样式):

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 动画只有一个线程?其他人有同样的问题?提前致谢

最佳答案

尝试一下。 (我试过htc desire)

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

关于android - 隐藏键盘时 fragment 事务的自定义动画消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20151442/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com