我有三个活动,其启动模式是单个实例.
使用onfling(),我左右摆动它们.
问题是当我从右向左滑动滑动过渡是可以的但是当我从左向右滑动时,我从右向左滑动过渡.
我知道为什么会发生这种情况因为我总是发出新的意图.但是,现在我需要改变从左向右滑动的动画.
我知道有一个名为的方法overridingTransitionPending(),但我不知道如何用XML定义我的动画.
我已经检查了片段之间动画事务的一些教程.我已经将这种方法用于动画,它的工作原理如下:
fragmentTransaction.setCustomAnimations(android.R.anim.slide_in_left,
android.R.anim.slide_out_right);
Run Code Online (Sandbox Code Playgroud)
但我希望它的动画是倒置的:旧片段向左滑动,新片段向右滑动,但是R.anim文件的值似乎对我的范围没用.
我该怎么做?
我想实现一个包含片段的活动!当我点击Fragment1时,会调用Fragment2,当我点击Fragment2时,应该从屏幕上删除Fragment2!我通过在onCreateView中调用Fragment2的LinearLayout的setOnclickListener来实现它,并在我的onclicklistener上调用它
transaction.remove(myFragment);
transaction.commit();
但之后我遇到了这个错误:提交已经调用我如何修复此错误,这是我的代码:这是我的片段类
public class ArticleFragment extends Fragment {
final static String ARG_POSITION = "position";
int mCurrentPosition = -1;
private static LinearLayout l;
private android.support.v4.app.FragmentTransaction transaction;
private Fragment newFragment;
public void setArticleFragment(android.support.v4.app.FragmentTransaction transaction , Fragment newFragment) {
this.transaction = transaction;
this.newFragment = newFragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (savedInstanceState != null) {
mCurrentPosition = savedInstanceState.getInt(ARG_POSITION);
}
View v = inflater.inflate(R.layout.article_view, container , false);
l = (LinearLayout) v.findViewById(R.id.transparentArea);
if(l == null)
l.setOnClickListener(new OnClickListener() …Run Code Online (Sandbox Code Playgroud)