ここに行きます:共有要素の遷移を持つ2つのアクティビティ(ボタン)。二Activity
は、ヒントとTextInputLayout
がありますTextInputLayout共有要素の移行の問題
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_horizontal"
android:orientation="vertical">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="GO"
android:transitionName="test"/>
<android.support.design.widget.TextInputLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="WTF?!">
<android.support.design.widget.TextInputEditText android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.design.widget.TextInputLayout>
</LinearLayout>
秒Activity
の入力遷移は、問題を明確にするために遅れている:TextInputLayout
のヒントは、遷移アニメーションを無視し、移行が開始された直後に表示しました。アニメーションの最後に、ヒントの下に正しくアニメーション化されたEditText背景(水平線)が表示されます。これはバグですか、何か不足していますか?ここでは第二Activity
です:
public class SecondActivity extends AppCompatActivity {
public static void launch(Activity activity, View sharedElement) {
Intent intent = new Intent(activity, SecondActivity.class);
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation(activity, sharedElement, "test");
activity.startActivity(intent, options.toBundle());
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setEnterTransition(new Slide().setDuration(5000));
}
}
}
EDIT:このバグは、バックグラウンドに第二のアクティビティのレイアウトを追加することにより、「固定」することができます。
あなたの共有要素はどれですか?何が起こると思いますか? – azizbekian
例のコードから分かるように、共有要素はボタンです。 TextInputLayoutのヒントは、他のビューと同様に、アクティビティ遷移の一部として適切にアニメートされることが期待されます(ビデオ内のEditTextの背景の適切な遷移を見てください)。 – artkoenig
質問を明確にしてください。あなたのアニメーションGIFは素敵に見える、我々はそれを持っている。それはかなりクールなアニメーションです。しかし、私は理解できません、何が問題なのですか?それはどこにある?青い線が上に移動すると私は何を見ますか。それで全部です。そして、短い瞬き線が入力フィールドの下に現れます。それは期待されていますか?それは期待されていませんか? WTF? – babay