เพิ่มการรองรับท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้

รูปที่ 1 การจำลองรูปลักษณ์ท่าทางสัมผัสย้อนกลับแบบคาดเดาบนโทรศัพท์

การย้อนกลับแบบคาดเดาเป็นฟีเจอร์การนำทางด้วยท่าทางสัมผัสช่วยให้ผู้ใช้ดูตัวอย่างว่าการปัดกลับจะนำพวกเขาไปที่ใด

เช่น การใช้ท่าทางสัมผัสเพื่อกลับอาจแสดงตัวอย่างภาพเคลื่อนไหวของหน้าจอหลักที่อยู่เบื้องหลังแอป ดังที่แสดงในภาพตัวอย่างในรูปที่ 1

ตั้งแต่ Android 15 เป็นต้นไป ตัวเลือกสำหรับนักพัฒนาแอปสำหรับภาพเคลื่อนไหวแบบคาดเดาการย้อนกลับจะไม่มีให้บริการอีกต่อไป ตอนนี้ภาพเคลื่อนไหวของระบบ เช่น กลับบ้าน ข้ามงาน และข้ามกิจกรรมจะปรากฏขึ้นสำหรับแอปที่เลือกใช้ท่าทางสัมผัสย้อนกลับแบบคาดการณ์ทั้งหมดหรือที่ระดับกิจกรรม

คุณสามารถทดสอบภาพเคลื่อนไหวการกลับไปที่หน้าแรกนี้ (ตามที่อธิบายไว้ในส่วนถัดไปของหน้านี้)

คุณต้องอัปเดตแอปที่รองรับท่าทางสัมผัสการย้อนกลับแบบคาดการณ์ล่วงหน้าโดยใช้ OnBackPressedCallback AppCompat 1.6.0-alpha05 (AndroidX) ขึ้นไป หรือใช้ API แพลตฟอร์ม OnBackInvokedCallback ใหม่ แอปส่วนใหญ่ใช้ AndroidX API ที่เข้ากันได้แบบย้อนหลัง

การอัปเดตนี้แสดงเส้นทางการย้ายข้อมูลเพื่อขัดจังหวะการนำทางย้อนกลับอย่างเหมาะสม ซึ่งเกี่ยวข้องกับการเปลี่ยนการขัดจังหวะการย้อนกลับจาก KeyEvent.KEYCODE_BACK และคลาสที่มีเมธอด onBackPressed เช่น Activity และ Dialog ด้วย Back API ของระบบใหม่

วิดีโอเกี่ยวกับ Codelab และ Google I/O

นอกจากการใช้เอกสารประกอบในหน้านี้แล้ว โปรดลองใช้ Codelab ซึ่งให้บริการการใช้งาน Use Case ทั่วไปของ WebView ที่จัดการท่าทางสัมผัสย้อนกลับแบบคาดการณ์โดยใช้ AndroidX Activity API

นอกจากนี้ คุณยังดูวิดีโอ Google I/O ซึ่งมีตัวอย่างเพิ่มเติมเกี่ยวกับการใช้งาน AndroidX และ API ของแพลตฟอร์มได้ด้วย

อัปเดตแอปที่ใช้การนําทางกลับเริ่มต้น

การอัปเดตแอปให้รองรับฟีเจอร์นี้นั้นง่ายมากหากแอปไม่ได้ใช้ลักษณะการกดกลับที่กำหนดเอง (กล่าวคือ ปล่อยให้ระบบจัดการการกดกลับ) เลือกใช้ฟีเจอร์นี้ตามที่อธิบายไว้ในคู่มือนี้

หากแอปใช้ Fragments หรือคอมโพเนนต์การนำทาง ให้อัปเกรดเป็น AndroidX Activity 1.6.0-alpha05 ขึ้นไปด้วย

อัปเดตแอปที่ใช้การนําทางกลับที่กําหนดเอง

หากแอปใช้ลักษณะการกดย้อนกลับที่กำหนดเอง เส้นทางการย้ายข้อมูลจะแตกต่างกันไป โดยขึ้นอยู่กับว่าแอปใช้ AndroidX หรือไม่ และจัดการการนำทางกลับอย่างไร

แอปของคุณใช้ AndroidX วิธีที่แอปจัดการการนําทางกลับ เส้นทางการย้ายข้อมูลที่แนะนํา (ลิงก์ในหน้านี้)
ใช่ API ของ AndroidX ย้ายข้อมูลการติดตั้งใช้งาน AndroidX ที่มีอยู่กลับ
API ของแพลตฟอร์มที่ไม่รองรับ ย้ายข้อมูลแอป AndroidX ที่มี API การนำทางกลับที่ไม่รองรับไปยัง AndroidX API
ไม่ API ของแพลตฟอร์มที่ไม่รองรับ แต่ย้ายข้อมูลได้ ย้ายข้อมูลแอปที่ใช้ API การนําทางกลับที่ไม่รองรับไปยัง API ของแพลตฟอร์ม
API ของแพลตฟอร์มที่ไม่รองรับ แต่ไม่สามารถย้ายข้อมูลได้ เลื่อนการเลือกใช้จนกว่าจะกลายเป็นฟีเจอร์ที่จำเป็น

ย้ายข้อมูลการใช้งานการนำทางกลับของ AndroidX

Use Case นี้เป็นกรณีการใช้งานที่พบบ่อยที่สุด (และแนะนํามากที่สุด) ซึ่งมีผลกับแอปใหม่หรือแอปที่มีอยู่ที่ใช้การจัดการการนำทางด้วยท่าทางสัมผัสที่กำหนดเองด้วย OnBackPressedDispatcher ตามที่อธิบายไว้ในระบุการนําทางย้อนกลับที่กําหนดเอง

หากแอปของคุณจัดอยู่ในหมวดหมู่นี้ ให้ทำตามขั้นตอนต่อไปนี้เพื่อเพิ่มการรองรับท่าทางสัมผัสย้อนกลับแบบคาดการณ์

  1. อัปเกรดเป็น AndroidX Activity 1.6.0-alpha05 เพื่อให้มั่นใจว่า API ที่ใช้ API ของ OnBackPressedDispatcher อยู่แล้ว (เช่น Fragment และคอมโพเนนต์การนำทาง) จะทำงานได้อย่างราบรื่นกับท่าทางสัมผัสการย้อนกลับแบบคาดเดา

    // In your build.gradle file:
    dependencies {
    
    // Add this in addition to your other dependencies
    implementation "androidx.activity:activity:1.6.0-alpha05"
    
  2. เลือกใช้ท่าทางสัมผัสการย้อนกลับแบบคาดการณ์ตามที่อธิบายในหน้านี้

ย้ายข้อมูลแอป AndroidX ซึ่งมี API การนำทางกลับที่ไม่รองรับไปยัง AndroidX API

หากแอปใช้ไลบรารี AndroidX แต่ติดตั้งใช้งานหรืออ้างอิง API การนำทางกลับที่ไม่รองรับ คุณจะต้องเปลี่ยนไปใช้ AndroidX API เพื่อรองรับลักษณะการทำงานใหม่

วิธีย้ายข้อมูล API ที่ระบบไม่รองรับไปยัง AndroidX API

  1. ย้ายข้อมูลตรรกะการจัดการ Back ของระบบไปยัง OnBackPressedDispatcher ของ AndroidX ด้วยการติดตั้งใช้งาน OnBackPressedCallback ดูคําแนะนําโดยละเอียดได้ที่หัวข้อระบุการนําทางกลับที่กําหนดเอง

  2. ปิดใช้ OnBackPressedCallback เมื่อพร้อมที่จะหยุดขัดจังหวะท่าทางสัมผัสย้อนกลับ

  3. หยุดการขัดจังหวะเหตุการณ์ Back ผ่าน OnBackPressed หรือ KeyEvent.KEYCODE_BACK

  4. อย่าลืมอัปเกรดเป็น กิจกรรม AndroidX 1.6.0-alpha05

    // In your build.gradle file:
    dependencies {
    
    // Add this in addition to your other dependencies
    implementation "androidx.activity:activity:1.6.0-alpha05"
    
  5. เมื่อย้ายข้อมูลแอปเรียบร้อยแล้ว ให้เลือกใช้ท่าทางสัมผัสเพื่อกลับไปยังหน้าแรกแบบคาดการณ์ (ตามที่อธิบายไว้ในหน้านี้) เพื่อดูภาพเคลื่อนไหวของระบบในการกลับไปยังหน้าแรก

ย้ายข้อมูลแอปที่ใช้ API การนําทางกลับที่ไม่รองรับไปยัง API ของแพลตฟอร์ม

หากแอปใช้ไลบรารี AndroidX ไม่ได้และใช้หรืออ้างอิงถึงการนำทางกลับที่กำหนดเองโดยใช้ API ที่ไม่รองรับแทน คุณต้องย้ายข้อมูลไปยัง API ของแพลตฟอร์ม OnBackInvokedCallback

ทําตามขั้นตอนต่อไปนี้เพื่อย้ายข้อมูล API ที่ไม่รองรับไปยัง API ของแพลตฟอร์ม

  1. ใช้ OnBackInvokedCallback API ใหม่ในอุปกรณ์ที่ใช้ Android 13 ขึ้นไป และใช้ API ที่ระบบไม่รองรับในอุปกรณ์ที่ใช้ Android 12 หรือต่ำกว่า

  2. ลงทะเบียนตรรกะการย้อนกลับที่กำหนดเองใน OnBackInvokedCallback ด้วย onBackInvokedDispatcher วิธีนี้จะช่วยป้องกันไม่ให้กิจกรรมปัจจุบันเสร็จสิ้น และ Callback ของคุณจะมีโอกาสโต้ตอบกับการดำเนินการ "กลับ" เมื่อผู้ใช้ดำเนินการตามการนำทาง "กลับ" ของระบบจนเสร็จสิ้น

  3. ยกเลิกการลงทะเบียน OnBackInvokedCallback เมื่อพร้อมที่จะหยุดการสกัดกั้นท่าทางสัมผัสย้อนกลับ มิเช่นนั้น ผู้ใช้อาจเห็นลักษณะการทำงานที่ไม่พึงประสงค์เมื่อใช้การนําทางกลับของระบบ เช่น "ค้าง" ระหว่างมุมมองต่างๆ และบังคับให้ผู้ใช้ปิดแอป

    ตัวอย่างวิธีย้ายข้อมูลตรรกะออกจาก onBackPressed มีดังนี้

    Kotlin

    @Override
    fun onCreate() {
        if (BuildCompat.isAtLeastT()) {
            onBackInvokedDispatcher.registerOnBackInvokedCallback(
                OnBackInvokedDispatcher.PRIORITY_DEFAULT
            ) {
                /**
                 * onBackPressed logic goes here. For instance:
                 * Prevents closing the app to go home screen when in the
                 * middle of entering data to a form
                 * or from accidentally leaving a fragment with a WebView in it
                 *
                 * Unregistering the callback to stop intercepting the back gesture:
                 * When the user transitions to the topmost screen (activity, fragment)
                 * in the BackStack, unregister the callback by using
                 * OnBackInvokeDispatcher.unregisterOnBackInvokedCallback
                 * (https://developer.android.com/reference/kotlin/android/window/OnBackInvokedDispatcher#unregisteronbackinvokedcallback)
                 */
            }
        }
    }

    Java

    @Override
    void onCreate() {
      if (BuildCompat.isAtLeastT()) {
        getOnBackInvokedDispatcher().registerOnBackInvokedCallback(
            OnBackInvokedDispatcher.PRIORITY_DEFAULT,
            () -> {
              /**
               * onBackPressed logic goes here - For instance:
               * Prevents closing the app to go home screen when in the
               * middle of entering data to a form
               * or from accidentally leaving a fragment with a WebView in it
               *
               * Unregistering the callback to stop intercepting the back gesture:
               * When the user transitions to the topmost screen (activity, fragment)
               * in the BackStack, unregister the callback by using
               * OnBackInvokeDispatcher.unregisterOnBackInvokedCallback
               * (https://developer.android.com/reference/kotlin/android/view/OnBackInvokedDispatcher#unregisteronbackinvokedcallback)
               */
            }
        );
      }
    }
  4. หยุดการขัดจังหวะเหตุการณ์ Back ผ่าน OnBackPressed หรือ KeyEvent.KEYCODE_BACK สำหรับ Android 13 ขึ้นไป

  5. เมื่อย้ายข้อมูลแอปเรียบร้อยแล้ว ให้เลือกใช้ท่าทางสัมผัสเพื่อย้อนกลับแบบคาดการณ์ (ตามที่อธิบายไว้ในหน้านี้) เพื่อให้ OnBackInvokedCallback ใช้งานได้

คุณสามารถลงทะเบียน OnBackInvokedCallback กับ PRIORITY_DEFAULT หรือ PRIORITY_OVERLAY ซึ่งไม่พร้อมใช้งานใน AndroidX OnBackPressedCallback ที่คล้ายกัน การลงทะเบียนการโทรกลับด้วย PRIORITY_OVERLAY จะมีประโยชน์ในบางกรณี

ซึ่งจะมีผลเมื่อคุณย้ายข้อมูลจาก onKeyPreIme() และ Callback ของคุณต้องได้รับการจับมือกลับแทน IME ที่เปิดอยู่ IME จะลงทะเบียนการเรียกกลับกับ PRIORITY_DEFAULT เมื่อเปิด ลงทะเบียนการเรียกกลับด้วย PRIORITY_OVERLAY เพื่อให้แน่ใจว่า OnBackInvokedDispatcher จะส่งท่าทางสัมผัสกลับไปยังการเรียกกลับแทน IME ที่เปิดอยู่

เลือกใช้ท่าทางสัมผัสการย้อนกลับที่คาดการณ์ได้

เมื่อตัดสินใจเลือกวิธีอัปเดตแอปตามกรณีของคุณแล้ว ให้เลือกใช้เพื่อรองรับท่าทางสัมผัสเพื่อย้อนกลับแบบคาดการณ์

หากต้องการเลือกใช้ ให้ตั้งค่า Flag android:enableOnBackInvokedCallback เป็น true ในแท็ก <application> ของ AndroidManifest.xml

<application
    ...
    android:enableOnBackInvokedCallback="true"
    ... >
...
</application>

หากไม่ระบุค่า ค่าเริ่มต้นจะเป็น false และดำเนินการต่อไปนี้

  • ปิดใช้ภาพเคลื่อนไหวของระบบสำหรับท่าทางสัมผัสย้อนกลับแบบคาดเดา
  • ละเว้น OnBackInvokedCallback แต่การเรียกใช้ OnBackPressedCallback จะยังคงทำงานต่อไป

เลือกใช้ที่ระดับกิจกรรม

ตั้งแต่ Android 14 เป็นต้นไป Flag android:enableOnBackInvokedCallback จะช่วยให้คุณเลือกใช้ภาพเคลื่อนไหวของระบบตามการคาดการณ์ที่ระดับกิจกรรมได้ ลักษณะการทำงานนี้ช่วยให้ย้ายข้อมูลแอปขนาดใหญ่ที่มีหลายกิจกรรมไปยังท่าทางสัมผัสย้อนกลับแบบคาดการณ์ได้ง่ายขึ้น ใน Android 15 ฟีเจอร์การย้อนกลับแบบคาดการณ์จะไม่อยู่หลังตัวเลือกสำหรับนักพัฒนาแอปอีกต่อไป แอปสามารถเลือกใช้การกดย้อนกลับแบบคาดการณ์ได้ทั้งหมดหรือในระดับกิจกรรม

โค้ดต่อไปนี้แสดงตัวอย่างการใช้ enableOnBackInvokedCallback เพื่อเปิดใช้ภาพเคลื่อนไหวของระบบที่กลับไปยังหน้าแรกจาก MainActivity

<manifest ...>
    <application . . .

        android:enableOnBackInvokedCallback="false">

        <activity
            android:name=".MainActivity"
            android:enableOnBackInvokedCallback="true"
            ...
        </activity>
        <activity
            android:name=".SecondActivity"
            android:enableOnBackInvokedCallback="false"
            ...
        </activity>
    </application>
</manifest>

ในตัวอย่างก่อนหน้านี้ การตั้งค่า android:enableOnBackInvokedCallback=true for ".SecondActivity" จะเปิดใช้ภาพเคลื่อนไหวของระบบข้ามกิจกรรม

โปรดคำนึงถึงข้อควรพิจารณาต่อไปนี้เมื่อใช้ Flag android:enableOnBackInvokedCallback

  • การตั้งค่า android:enableOnBackInvokedCallback=false จะปิดภาพเคลื่อนไหวย้อนกลับแบบคาดการณ์ที่ระดับกิจกรรมหรือระดับแอป ทั้งนี้ขึ้นอยู่กับตำแหน่งที่คุณตั้งค่าแท็ก และสั่งให้ระบบไม่สนใจการเรียกใช้ API ของแพลตฟอร์ม OnBackInvokedCallback อย่างไรก็ตาม การเรียก OnBackPressedCallback จะยังคงทํางานต่อไปเนื่องจาก OnBackPressedCallback เข้ากันได้แบบย้อนหลังและเรียกใช้ onBackPressed API ซึ่งระบบไม่รองรับก่อน Android 13
  • การตั้งค่า Flag enableOnBackInvokedCallback ที่ระดับแอปจะกำหนดค่าเริ่มต้นสำหรับทุกกิจกรรมในแอป คุณลบล้างค่าเริ่มต้นต่อกิจกรรมได้โดยการตั้งค่า Flag ที่ระดับกิจกรรมดังที่แสดงในตัวอย่างโค้ดก่อนหน้านี้

แนวทางปฏิบัติแนะนำสำหรับการติดต่อกลับ

แนวทางปฏิบัติแนะนำในการใช้ระบบการเรียกกลับจากระบบที่รองรับมีดังนี้ BackHandler (สำหรับเขียน), OnBackPressedCallback หรือ OnBackInvokedCallback

ระบุสถานะ UI ที่เปิดและปิดใช้การเรียกกลับแต่ละรายการ

สถานะ UI เป็นพร็อพเพอร์ตี้ที่อธิบาย UI เราขอแนะนําให้ทําตามขั้นตอนระดับสูงเหล่านี้

  1. ระบุสถานะ UI ที่เปิดและปิดใช้การเรียกกลับแต่ละรายการ

  2. กำหนดสถานะนั้นโดยใช้ประเภทผู้ถือข้อมูลที่ได้รับอนุญาตให้สังเกตพฤติกรรมผู้ใช้ได้ เช่น StateFlow หรือ Compose State แล้วเปิดหรือปิดใช้ Callback เมื่อสถานะมีการเปลี่ยนแปลง

หากก่อนหน้านี้แอปของคุณเชื่อมโยงตรรกะการกดกลับกับคำสั่งเงื่อนไข การดำเนินการนี้อาจหมายความว่าคุณกำลังตอบสนองต่อเหตุการณ์การกดกลับหลังจากที่เหตุการณ์ดังกล่าวเกิดขึ้นแล้ว หลีกเลี่ยงรูปแบบนี้เมื่อมี Callback ที่ใหม่กว่า หากเป็นไปได้ ให้ย้ายการเรียกกลับไว้นอกคำสั่งเงื่อนไขและเชื่อมโยงการเรียกกลับกับประเภทตัวเก็บข้อมูลแบบสังเกตได้แทน

ใช้ Callback ของระบบสำหรับ UI Logic

ตรรกะ UI จะกำหนดวิธีแสดง UI ใช้การเรียกกลับเมื่อระบบย้อนกลับเพื่อเรียกใช้ตรรกะ UI เช่น การแสดงป๊อปอัปหรือเรียกใช้ภาพเคลื่อนไหว

หากแอปเปิดใช้การเรียกกลับระบบสำหรับการกดย้อนกลับ การเคลื่อนไหวแบบคาดเดาจะไม่ทำงานและคุณต้องจัดการเหตุการณ์การกดย้อนกลับ อย่าสร้างการเรียกกลับเพื่อเรียกใช้ตรรกะที่ไม่เกี่ยวข้องกับ UI เท่านั้น

เช่น หากคุณจะขัดขวางเหตุการณ์ Back เพื่อบันทึกเท่านั้น ให้บันทึกภายในวงจรของกิจกรรมหรือ Fragment แทน

  • สําหรับกรณีกิจกรรมต่อกิจกรรมหรือกรณีจากเหตุการณ์ต่อกิจกรรม ให้บันทึกหาก isFinishing ภายใน onDestroy เป็น true ภายในวงจรของกิจกรรม
  • สําหรับกรณีจากข้อมูลโค้ดหนึ่งไปยังอีกข้อมูลโค้ดหนึ่ง ให้บันทึกหาก isRemoving ภายใน onDestroy เป็นจริงภายในวงจรชีวิตของมุมมองข้อมูลโค้ด หรือเข้าสู่ระบบโดยใช้วิธี onBackStackChangeStarted หรือ onBackStackChangeCommitted ภายใน FragmentManager.OnBackStackChangedListener

สำหรับกรณี Compose ให้บันทึกภายในการเรียกกลับ onCleared() ของ ViewModel ที่เชื่อมโยงกับปลายทาง Compose นี่เป็นสัญญาณที่ดีที่สุดในการระบุว่ามีการนำปลายทางการเขียนออกจากกองซ้อนด้านหลังและทำลายแล้ว

สร้าง Callback ที่มีหน้าที่รับผิดชอบรายการเดียว

คุณสามารถเพิ่ม Callback หลายรายการไปยังผู้มอบหมายงานได้ ระบบจะเพิ่ม Callback ลงในสแต็กซึ่งฟังก์ชัน Callback ที่เปิดใช้ล่าสุดจะจัดการท่าทางสัมผัสการย้อนกลับครั้งถัดไปด้วยท่าทางสัมผัสการติดต่อกลับ 1 ครั้งต่อท่าทางสัมผัสการย้อนกลับ

การจัดการสถานะ "เปิดใช้" ของคอลแบ็กจะง่ายขึ้นหากคอลแบ็กดังกล่าวมีหน้าที่เพียงอย่างเดียว เช่น

ลำดับของคอลแบ็กในสแต็ก
รูปที่ 2 แผนภาพสแต็กการเรียกกลับ

รูปที่ 2 แสดงวิธีที่คุณสามารถมีคอลแบ็กหลายรายการในกอง โดยแต่ละรายการจะมีหน้าที่รับผิดชอบอย่างละอย่าง โค้ดเรียกซ้ำจะทำงานก็ต่อเมื่อปิดใช้โค้ดเรียกซ้ำที่อยู่เหนือในกองเท่านั้น ในตัวอย่างนี้ ระบบจะเปิดใช้ Callback "คุณแน่ใจไหมว่า..." เมื่อผู้ใช้ป้อนข้อมูลลงในแบบฟอร์ม และจะปิดใช้ การเรียกกลับจะเปิดกล่องโต้ตอบการยืนยันเมื่อผู้ใช้ปัดกลับเพื่อออกจากแบบฟอร์ม

แบ็กคอลอื่นๆ อาจรวมถึงคอมโพเนนต์ Material ที่รองรับการย้อนกลับแบบคาดการณ์ ทรานซิชัน AndroidX ที่ใช้ Progress API หรือแบ็กคอลที่กำหนดเองอื่นๆ

การทำงานของคอลแบ็กของ childFragmentManager จะทำงานหากคอลแบ็กข้างต้นถูกปิดใช้และกองซ้อนที่ย้อนกลับสำหรับ FragmentManager นี้ไม่ว่างเปล่า โดยที่ childFragmentManager แนบอยู่ใน Fregment ในตัวอย่างนี้ แคล็กแบ็กภายในนี้จะปิดอยู่

ในทำนองเดียวกัน Callback ภายในของ supportFragmentManager จะทำงานหากปิดใช้ Callback ด้านบนและสแต็กไม่ว่างเปล่า ลักษณะการทำงานนี้มีความสอดคล้องกันเมื่อใช้ FragmentManager หรือ NavigationComponent เพื่อไปยังส่วนต่างๆ เนื่องจาก NavigationComponent ต้องใช้ FragmentManager ในตัวอย่างนี้ แคล็กแบ็กนี้จะทำงานหากผู้ใช้ไม่ได้ป้อนข้อความในแบบฟอร์ม ซึ่งทำให้แคล็กแบ็ก "คุณแน่ใจไหม..." ปิดอยู่

สุดท้าย super.onBackPressed() คือ Callback ระดับระบบที่จะทำงานอีกครั้งหากปิดใช้ Callback ข้างต้น หากต้องการเรียกให้ภาพเคลื่อนไหวของระบบแสดง เช่น การกลับไปที่หน้าจอหลัก กิจกรรมข้ามแอป และงานข้ามแอป กองซ้อนของ supportFragmentManager ต้องว่างเปล่าเพื่อให้การเรียกกลับภายในปิดอยู่

ทดสอบภาพเคลื่อนไหวของท่าทางสัมผัสการย้อนกลับแบบคาดเดา

หากยังใช้ Android 13 หรือ Android 14 อยู่ คุณจะทดสอบภาพเคลื่อนไหวของฟีเจอร์กลับไปที่หน้าแรกซึ่งแสดงในรูปที่ 1 ได้

หากต้องการทดสอบภาพเคลื่อนไหวนี้ ให้ทำตามขั้นตอนต่อไปนี้

  1. ในอุปกรณ์ ให้ไปที่การตั้งค่า > ระบบ > ตัวเลือกสำหรับนักพัฒนาแอป

  2. เลือกการเคลื่อนไหวย้อนกลับแบบคาดเดา

  3. เปิดแอปที่อัปเดตแล้ว และใช้ท่าทางสัมผัสเพื่อดูการทํางาน