এডিটেক্সট সহ মোশন লেআউট অ্যানিমেশনগুলি ধ্বংস করে


10

আমি একটি সাধারণ মোশনলআউট তৈরি করেছি যা প্রায় কোনও সমন্বয়কারী বিন্যাসের মতো (অ্যানিমেশনগুলি কিছুটা আলাদা)।
এখানে এরকম কিছু:

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন

কীবোর্ডটি খোলার পরে সামগ্রীর ক্ষেত্রের মধ্যে (দম্পতি) এডিটেক্সট ভিউগুলি মোশনলআউট অ্যানিমেশনগুলি ভেঙে দেয়। অ্যানিমেশনগুলিতে এখন বিলম্ব হয়েছে, রাজ্যগুলি ভুল এবং ইউআই কিছুটা হিমশীতল শুরু করে। কোন সমাধান কিভাবে এটি সমাধান? জিএফ হিসাবে বাগের সাথে লিঙ্ক করুন

ব্যবহৃত সংস্করণ:

com.google.android.material:material:1.2.0-alpha01
androidx.constraintlayout:constraintlayout:2.0.0-beta3

আমি একটি ছোট নমুনা অ্যাপ্লিকেশনটিতেও আচরণটি পুনরুত্পাদন করতে পারি

নমুনা বিন্যাস.এক্সএমএল:

<androidx.constraintlayout.motion.widget.MotionLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutDescription="@xml/animation"
tools:showPaths="true">

<androidx.appcompat.widget.Toolbar
    android:id="@+id/customtoolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<com.google.android.material.textview.MaterialTextView
    android:id="@+id/title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="32dp"
    android:layout_marginBottom="48dp"
    android:text="title"
    app:layout_constraintBottom_toTopOf="@+id/formLayout"
    app:layout_constraintStart_toStartOf="parent" />

<ImageView
    android:id="@+id/image"
    android:layout_width="200dp"
    android:background="#ff00ff"
    android:layout_height="200dp"
    android:scaleType="centerCrop"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/ic_home_black_24dp" />


<androidx.core.widget.NestedScrollView
    android:id="@+id/formLayout"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/image">

    <LinearLayout
        android:id="@+id/formLayoutContainer"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/container1"
            android:layout_width="match_parent"
            android:layout_height="200dp">

            <EditText
                android:id="@+id/container1EditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="EditText"
                android:importantForAutofill="no"
                android:inputType="text"
                android:lines="1" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/container2"
            android:layout_width="match_parent"
            android:layout_height="200dp">

            <EditText
                android:id="@+id/container2EditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="EditText"
                android:importantForAutofill="no"
                android:inputType="text"
                android:lines="1" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/container3"
            android:layout_width="match_parent"
            android:layout_height="200dp">

            <EditText
                android:id="@+id/container3EditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="EditText"
                android:importantForAutofill="no"
                android:inputType="text"
                android:lines="1" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:id="@+id/container4"
            android:layout_width="match_parent"
            android:layout_height="200dp">

            <EditText
                android:id="@+id/container4EditText"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:hint="EditText"
                android:importantForAutofill="no"
                android:inputType="text"
                android:lines="1" />
        </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.button.MaterialButton
            android:id="@+id/saveButton"
            android:layout_width="120dp"
            android:layout_height="wrap_content"
            android:layout_gravity="end"
            android:layout_marginTop="24dp"
            android:layout_marginBottom="16dp"
            android:text="Save" />
    </LinearLayout>

</androidx.core.widget.NestedScrollView>

</androidx.constraintlayout.motion.widget.MotionLayout>

animation.xml:

<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<Transition
    app:constraintSetEnd="@id/end"
    app:constraintSetStart="@id/start"
    app:motionInterpolator="easeIn">

    <OnSwipe
        app:dragDirection="dragUp"
        app:touchAnchorId="@id/formLayout"
        app:touchAnchorSide="top" />

</Transition>

<ConstraintSet android:id="@+id/start">
    <Constraint
        android:id="@id/image"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:alpha="1"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Constraint
        android:id="@id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="32dp"
        android:layout_marginBottom="48dp"
        android:scaleX="1.0"
        android:scaleY="1.0"
        app:layout_constraintBottom_toTopOf="@+id/formLayout"
        app:layout_constraintStart_toStartOf="parent" />
</ConstraintSet>

<ConstraintSet android:id="@+id/end">
    <Constraint
        android:id="@id/image"
        android:layout_width="200dp"
        android:layout_height="72dp"
        android:alpha="0"
        android:translationY="-10dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Constraint
        android:id="@id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="55dp"
        android:scaleX="0.85"
        android:scaleY="0.85"
        app:layout_constraintBottom_toBottomOf="@id/customtoolbar"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="@id/customtoolbar" />
</ConstraintSet>

<KeyFrameSet>
    <KeyPosition
        app:framePosition="70"
        app:keyPositionType="pathRelative"
        app:motionTarget="@id/title"
        app:percentY="0.1" />

    <KeyAttribute
        android:alpha="0.8"
        app:framePosition="60"
        app:motionTarget="@id/image" />

</KeyFrameSet>

</MotionScene>

এটি / বা কীবোর্ড ছাড়াই বিভিন্ন স্ক্রোলিং ইভেন্টের কারণে। আমাদের ক্ষেত্রে, আমরা কেবল স্ক্রোলিং অক্ষম করছি AppBarLayout
জেনসগেমস

আপনার ম্যানিফেস্টে উইন্ডোসফট ইনপুটমোডের মান কী ? আপনি যখন স্ক্রোল করবেন তখন মনে হচ্ছে মনোনিবেশিত সম্পাদনা পাঠ্যটিকে আবার দেখার উদ্দেশ্যে স্ক্রোল করা হচ্ছে যা বোঝা যায়। আপনি এই পরিস্থিতিতে কী হতে চান তা পরিষ্কার নয়। আপনি উইন্ডোসফট ইনপুটমোডের মানটি পরিবর্তন করতে চেষ্টা করতে পারেন এটি আপনাকে কিছুটা সহায়তা করে কিনা।
চেটিক্যাম্প

আপনার নমুনাটি গিথুবটিতে রাখার বিষয়ে কি আপত্তি আছে তাই আমরা সেখান থেকে আপনাকে বিশ্লেষণ করতে সহায়তা করতে পারি?
ইসাই ডামিয়ার

@ ইসাইডামিয়ার গিথুব / ক্যাপটমাস্টাচ / ভিউস- উইজেটস- নমুনাগুলি আমি স্কোললেআউটটির শেষের দিকে সবেমাত্র একটি সম্পাদনা পাঠ্য ক্ষেত্র যুক্ত করেছি। দয়া করে "কমপ্লেক্স মোশন নমুনা" দেখুন এবং ইনপুটফিল্ড + কীবোর্ড + স্ক্রোলিং
লাকীমালাকা

@ জেন্সা গেমস এপথটি অ্যাপ্পারলআউটটি ব্যবহার না করে কেবল গতি বিন্যাস এবং এর অ্যানিমেশনগুলি ব্যবহার করা। গুগলস
লাকীমালাকা

উত্তর:


0

এই সমস্যাটি সাধারণ, মোড়ের বিন্যাসটি একটি বাঁধা লেআউট সহ মোড়ানো

<ConstraintLayout >

<androidx.constraintlayout.motion.widget.MotionLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutDescription="@xml/animation"
tools:showPaths="true">


<androidx.constraintlayout.motion.widget.MotionLayout />


<ConstraintLayout />
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.