একটি ট্রানজিশন কনফিগার করুন

প্যানেলের মধ্যে পরিবর্তনগুলি সংজ্ঞায়িত করতে একটি ট্রানজিশন ব্যবহার করুন। একটি প্যানেলের দুটি রূপের মধ্যে কীভাবে এবং কখন পরিবর্তন করতে হবে তা বর্ণনা করার জন্য আপনি একটি ট্রানজিশন সংজ্ঞায়িত করতে পারেন। আপনি প্রতিটি প্যানেলের জন্য ট্রানজিশনের একটি তালিকা সংজ্ঞায়িত করতে পারেন।

একটি একক <TaskPanel> অথবা <DecorPanel> এর কনফিগারেশনে এক বা একাধিক <Transition> সংজ্ঞার জন্য <Transitions> XML ট্যাগটি একটি ধারক হিসেবে ব্যবহার করুন। আপনি এই ট্যাগটি ব্যবহার করে অ্যানিমেশন নিয়মের একটি সেট সংজ্ঞায়িত করতে পারেন যা কখন এবং কীভাবে একটি প্যানেল একটি স্বতন্ত্র রূপ থেকে অন্য রূপে ভিজ্যুয়াল অবস্থা পরিবর্তন করবে তা নিয়ন্ত্রণ করে।

XML বৈশিষ্ট্যাবলী

<Transitions> ট্যাগ এই চাইল্ড <Transition> এলিমেন্টের জন্য ডিফল্ট মান নির্ধারণ করতে পারে:

বৈশিষ্ট্য অবস্থা বিবরণ
<defaultDuration> ঐচ্ছিক

সকল শিশুতে প্রয়োগ করার জন্য মিলিসেকেন্ডে একটি ডিফল্ট সময়কাল নির্দিষ্ট করে

<Transition> এলিমেন্ট যা স্পষ্টভাবে একটি সময়কাল বৈশিষ্ট্য সেট করে না।

সিস্টেমের DEFAULT_DURATION ধ্রুবক, সাধারণত 300 মিলিসেকেন্ড, ব্যবহৃত হয় যখন এই বৈশিষ্ট্যটি নির্দিষ্ট করা থাকে না।

defaultInterpolator ঐচ্ছিক

একটি Android Interpolator XML রিসোর্স আইডি উল্লেখ করে। উদাহরণস্বরূপ, @android:anim/accelerate_decelerate_interpolator । ইন্টারপোলেটরটি সমস্ত চাইল্ড <Transition> এলিমেন্টের জন্য ডিফল্ট হিসেবে ব্যবহৃত হয় যা স্পষ্টভাবে একটি ইন্টারপোলেটর অ্যাট্রিবিউট সেট করে না।

যদি কোনও ডিফল্ট ইন্টারপোলেটর নির্দিষ্ট না থাকে, তাহলে সিস্টেমটি সাধারণত একটি AccelerateDecelerateInterpolator এ ডিফল্ট হয়।

XML চাইল্ড এলিমেন্ট

<Transitions> এর চাইল্ড এলিমেন্ট হল <Transition> , যা PanelState ভেরিয়েন্টের মধ্যে একটি নির্দিষ্ট অ্যানিমেশন পাথ নির্ধারণ করতে ব্যবহৃত মূল এলিমেন্ট। একাধিক <Transition> এলিমেন্ট একটি একক <Transitions> ব্লকের মধ্যে নেস্ট করা যেতে পারে।

নমুনা কোড

এই নমুনায়, fromVariant ঐচ্ছিক। যখন সংজ্ঞায়িত না করা হয়, তখন বর্তমান ভেরিয়েন্ট ব্যবহার করা হয়। যদি fromVariant সংজ্ঞায়িত করা হয়, তাহলে শুধুমাত্র সমস্ত প্যারামিটার মিলে গেলেই ট্রানজিশন ব্যবহার করা হয়। প্যারামিটারগুলি Event এবং fromVariant এ নির্দিষ্ট করা আছে।

<Transitions defaultDuration="400"
         defaultInterpolator="@android:anim/linear_interpolator">
  <Transition fromVariant="closed_app"
              toVariant="opened_app">
    <Event id="app_opened" panel="application_panel" />
  </Transition>
</Transitions>

রূপান্তর

একটি ট্রানজিশন বর্ণনা করে কিভাবে একটি প্যানেলের দুটি ভেরিয়েন্টের মধ্যে ভিজ্যুয়াল অবস্থার পরিবর্তনকে অ্যানিমেট করা যায়। একটি ট্রানজিশন একটি ভেরিয়েন্ট থেকে অন্য ভেরিয়েন্টে যাওয়ার পথের রূপরেখা তৈরি করে। এটি করার জন্য, ট্রানজিশনটি প্রয়োগ করার জন্য অ্যানিমেশন এবং অ্যানিমেশনটি ট্রিগার করার জন্য প্রয়োজনীয় ইভেন্টের মতো বিশদ বিবরণ নির্দিষ্ট করে।

একটি প্যানেলের জন্য, ট্রানজিশনগুলি সীমানা, দৃশ্যমানতা এবং আলফার মতো বৈশিষ্ট্যগুলির জন্য অ্যানিমেশন সংজ্ঞায়িত করতে পারে। যদি একটি কাস্টম অ্যানিমেটর নির্দিষ্ট না থাকে, তাহলে একটি ডিফল্ট অ্যানিমেটর ব্যবহার করা হয়।

XML বৈশিষ্ট্যাবলী

<Transition> ট্যাগটি অ্যানিমেশনের বৈশিষ্ট্য এবং এটি কোন পরিস্থিতিতে ঘটবে তা নির্ধারণ করতে বেশ কয়েকটি বৈশিষ্ট্য ব্যবহার করে।

XML চাইল্ড এলিমেন্ট

<Event> ইভেন্টের বৈশিষ্ট্যগুলি সংজ্ঞায়িত করে যা ট্রানজিশনটি ট্রিগার করতে পারে।

এই ইভেন্টের সাথে সম্পর্কিত প্যানেলের অনন্য শনাক্তকারী।
বৈশিষ্ট্য অবস্থা বিবরণ
<id> বাধ্যতামূলক ট্রিগার সক্রিয় করার জন্য ইভেন্টের অনন্য শনাক্তকারী।
<panelId> ঐচ্ছিক ইভেন্টের সাথে সম্পর্কিত প্যানেলের অনন্য শনাক্তকারী।
componentName ঐচ্ছিক এই ইভেন্টের সাথে সম্পর্কিত উপাদানের নাম।
packageName ঐচ্ছিক ইভেন্টের সাথে সম্পর্কিত প্যাকেজের নাম।

নমুনা কোড

<Transitions defaultDuration="400"
        defaultInterpolator="@android:anim/accelerate_interpolator">
  <!-- A transition from 'closed_app' to 'opened_app' variant, triggered by 'open_app_event' -->
  <Transition fromVariant="closed_app"
              toVariant="opened_app">
    <Event id="app_opened" panel="application_panel" />
  <Transition>

  <!-- A transition from 'opened_app' to 'closed_app' variant, using a custom animator -->
  <Transition fromVariant="opened_app"
              toVariant="closed_app"
              animator="@animator/close_app">
    <Event id="_System_PanelEmptyEvent"
           panelId="application_panel" />
  <Transition>
</Transitions>