Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带FAB按钮的Android过渡_Android_Transition - Fatal编程技术网

带FAB按钮的Android过渡

带FAB按钮的Android过渡,android,transition,Android,Transition,根据这些指导原则,我想在活动开始和结束时显示/隐藏我的FAB按钮。 我使用共享元素活动转换来显示我的详细活动,如下所示: CardAdapter.java @Override public void onBindViewHolder(CardViewHolder holder, int position) { [...] holder.getBinding().setVariable(BR.handler, mHandler); holder.getBinding()

根据这些指导原则,我想在活动开始和结束时显示/隐藏我的FAB按钮。

我使用共享元素活动转换来显示我的详细活动,如下所示:

CardAdapter.java

@Override
public void onBindViewHolder(CardViewHolder holder, int position) {
    [...]
    holder.getBinding().setVariable(BR.handler, mHandler);
    holder.getBinding().executePendingBindings();
}
java

public class CardHandler {
    private Activity mActivity;

    CardHandler(Activity activity) {
        mActivity = activity;
    }

    public void onCardClick(View view, Module module) {
        final Context context = view.getContext();
        final Intent intent = new Intent(context, DetailActivity.class);
        intent.putExtra(DetailActivity.MODULE, module);

        View image = view.findViewById(R.id.card_image);
        View description = view.findViewById(R.id.card_description);

        Pair<View, String> p1 = Pair.create(image, "image");
        Pair<View, String> p2 = Pair.create(description, "description");

        ActivityOptionsCompat options = ActivityOptionsCompat
                .makeSceneTransitionAnimation(mActivity, p1, p2);

        context.startActivity(intent, options.toBundle());
    }
}
隐藏方法无法正常工作,在转换期间,我的fab按钮与我的布局重叠


它可以与mActivity对象一起使用?我尝试过做FloatingActionButton fab=(FloatingActionButton)mActivity.findViewById(R.id.fab_action);fab.show();在context.startActivity之前(intent,options.toBundle());它返回空点您可以从开始新活动的位置隐藏。fab按钮仅出现在my DetailActivity中,my CardAdapter仅包含带有CardView列表的RecyclerView。您可以创建在activity中隐藏和显示fab的方法,并将activity对象传递给您。您可以根据需要使用activity对象隐藏和显示FAB。它可以在MacActivity对象中使用?我尝试使用FloatingActionButton FAB=(FloatingActionButton)MacActivity.findViewById(R.id.FAB_action);fab.show();在context.startActivity之前(intent,options.toBundle());它返回空点您可以从开始新活动的位置隐藏。fab按钮仅出现在my DetailActivity中,my CardAdapter仅包含带有CardView列表的RecyclerView。您可以创建在activity中隐藏和显示fab的方法,并将activity对象传递给您。您可以使用活动对象根据需要隐藏和显示晶圆厂。
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ViewDataBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_detail);

    // Enable back button
    setSupportActionBar((Toolbar) findViewById(R.id.toolbar));
    if (null != getSupportActionBar()) {
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

    // Retrieve module from extra
    final Module module = getIntent().getParcelableExtra(MODULE);

    // Bind module data
    binding.setVariable(BR.module, module);
    mFabAction = (FloatingActionButton) findViewById(R.id.fab_action);

    addTransitionEnterListener();
}

private boolean addTransitionEnterListener() {
    final Transition transition = getWindow().getSharedElementEnterTransition();
    if (transition == null) return false;
    transition.addListener(new Transition.TransitionListener() {
        @Override
        public void onTransitionEnd(Transition transition) {
            mFabAction.show();
            transition.removeListener(this);
            addTransitionReturnListener();
        }
    });
    return true;
}

private boolean addTransitionReturnListener() {
    final Transition transition = getWindow().getSharedElementReturnTransition();

    if (transition == null) return false;
    transition.addListener(new Transition.TransitionListener() {
        @Override
        public void onTransitionStart(Transition transition) {
            mFabAction.hide();
            transition.removeListener(this);
        }
    });
    return true;
}