ফোকাস ট্রাভার্সাল অর্ডার পরিবর্তন করুন

ডিফল্ট ফোকাস ট্রাভার্সাল অর্ডার বিভাগে বর্ণনা করা হয়েছে যে কীভাবে রচনা স্বয়ংক্রিয়ভাবে এক-মাত্রিক ( tab কী) এবং দ্বি-মাত্রিক (তীর কী) নেভিগেশনের জন্য আপনার উপাদানগুলিতে ফোকাস ট্রাভার্সাল আচরণ যোগ করে। কিছু ক্ষেত্রে, আপনাকে এই ডিফল্ট আচরণকে ওভাররাইড করতে হবে এবং প্রয়োজনীয় ট্রাভার্সাল অর্ডার সম্পর্কে আরও স্পষ্ট হতে হবে।

এক-মাত্রিক ট্রাভার্সাল অর্ডার ওভাররাইড করুন

এক-মাত্রিক নেভিগেশনের জন্য ডিফল্ট ফোকাস ট্রাভার্সাল অর্ডার পরিবর্তন করতে, আপনি প্রতিটি ফোকাসযোগ্য কম্পোজেবলের জন্য একটি রেফারেন্সের একটি সেট তৈরি করুন:

val (first, second, third, fourth) = remember { FocusRequester.createRefs() }

তারপর, focusRequester মডিফায়ার ব্যবহার করুন তাদের প্রত্যেককে একটি কম্পোজেবলের সাথে সংযুক্ত করতে:

Column {
    Row {
        TextButton({}, Modifier.focusRequester(first)) { Text("First field") }
        TextButton({}, Modifier.focusRequester(third)) { Text("Third field") }
    }

    Row {
        TextButton({}, Modifier.focusRequester(second)) { Text("Second field") }
        TextButton({}, Modifier.focusRequester(fourth)) { Text("Fourth field") }
    }
}

আপনি এখন একটি কাস্টম ট্র্যাভার্সাল অর্ডার নির্দিষ্ট করতে focusProperties মডিফায়ার ব্যবহার করতে পারেন:

Column {
    Row {
        TextButton(
            {},
            Modifier
                .focusRequester(first)
                .focusProperties { next = second }
        ) {
            Text("First field")
        }
        TextButton(
            {},
            Modifier
                .focusRequester(third)
                .focusProperties { next = fourth }
        ) {
            Text("Third field")
        }
    }

    Row {
        TextButton(
            {},
            Modifier
                .focusRequester(second)
                .focusProperties { next = third }
        ) {
            Text("Second field")
        }
        TextButton(
            {},
            Modifier
                .focusRequester(fourth)
                .focusProperties { next = first }
        ) {
            Text("Fourth field")
        }
    }
}

দ্বি-মাত্রিক ট্রাভার্সাল অর্ডার ওভাররাইড করুন

তীর কীগুলির সাহায্যে দ্বি-মাত্রিক নেভিগেশনের জন্য ফোকাস ট্রাভার্সাল অর্ডারের উপর সূক্ষ্ম-দানাযুক্ত নিয়ন্ত্রণ যুক্ত করাও সম্ভব। প্রতিটি উপাদানের জন্য, আপনি focusProperties মডিফায়ার যোগ করে এবং যে আইটেমটি উপরে, নিচে বা অন্য কোনো দিক আসবে তা নির্দিষ্ট করে প্রতিটি দিকনির্দেশের জন্য ডিফল্ট নেভিগেশন গন্তব্য ওভাররাইড করতে পারেন:

TextButton(
    onClick = {},
    modifier = Modifier
        .focusRequester(fourth)
        .focusProperties {
            down = third
            right = second
        }
) {}

এই কৌশলটি কেবল কার্যকরভাবে কীবোর্ড তীর ব্যবহার করে না, তবে তারযুক্ত এবং বেতার কন্ট্রোলারগুলিতে ডি-প্যাড এবং লাঠিগুলির সাথে কাজ করবে।

{% শব্দার্থে %} {% endverbatim %} {% শব্দার্থে %} {% endverbatim %}