代码之家  ›  专栏  ›  技术社区  ›  user6517192

对edittext使用共享元素转换

  •  0
  • user6517192  · 技术社区  · 8 年前

    正在尝试使用共享元素转换

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
           edit_activity.setTransitionName(getString(R.string.activity_text_trans));
           edit_wbs.setTransitionName(getString(R.string.activity_mixed_trans));
           Pair<View, String> pair1 = Pair.create(edit_activity, edit_activity.getTransitionName());
           Pair<View, String> pair2 = Pair.create(edit_contractor, edit_contractor.getTransitionName());
           Pair<View, String> pair3 = Pair.create(edit_labour_used, edit_labour_used.getTransitionName());
           ActivityOptionsCompat options = ActivityOptionsCompat.
                                                makeSceneTransitionAnimation(this, pair1, pair2, pair3);
            startActivity(intent, options.toBundle());
        }
    

    但我得到以下错误

    错误:(469,75)错误:不兼容类型:Pair 无法转换为Pair

    我已尝试将编辑文本更改为“查看”。 如果我更改类型,我将无法使用edittext的setText和getText属性。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Burhanuddin Rashid Abdilahi    8 年前

    尝试两个静态转换名称,如下所示:

    Intent intent = new Intent(context, DetailsActivity.class);
    intent.putExtra(DetailsActivity.EXTRA_CONTACT, contact);
    Pair<View, String> p1 = Pair.create((View)ivProfile, "profile");
    Pair<View, String> p2 = Pair.create(vPalette, "palette");
    Pair<View, String> p3 = Pair.create((View)tvName, "text");
    ActivityOptionsCompat options = ActivityOptionsCompat.
        makeSceneTransitionAnimation(this, p1, p2, p3);
    startActivity(intent, options.toBundle());