লেআউট ইন্সপেক্টর দিয়ে আপনার লেআউট ডিবাগ করুন

অ্যান্ড্রয়েড স্টুডিওতে লেআউট ইন্সপেক্টর আপনাকে আপনার অ্যাপের লেআউট ডিবাগ করতে দেয় একটি ভিউ হায়ারার্কি দেখিয়ে যেখানে আপনি প্রতিটি ভিউয়ের বৈশিষ্ট্যগুলি পরিদর্শন করতে পারেন। লেআউট ইন্সপেক্টরের সাহায্যে, আপনি আপনার অ্যাপ লেআউটটিকে ডিজাইন মকআপের সাথে তুলনা করতে পারেন, আপনার অ্যাপের একটি বিবর্ধিত বা 3D ভিউ প্রদর্শন করতে পারেন এবং রানটাইমে এর লেআউটের বিশদ পরীক্ষা করতে পারেন। এটি বিশেষভাবে কার্যকর যখন আপনার লেআউটটি সম্পূর্ণরূপে XML-এর পরিবর্তে রানটাইমে তৈরি করা হয় এবং লেআউটটি অপ্রত্যাশিতভাবে আচরণ করে।

চিত্র ১. জেটচ্যাট অ্যাপের জন্য এমবেডেড লেআউট ইন্সপেক্টর।

শুরু করুন

লেআউট ইন্সপেক্টর শুরু করতে, আপনার অ্যাপটি চালান , রানিং ডিভাইস উইন্ডোতে যান এবং টগল লেআউট ইন্সপেক্টর ক্লিক করুন। এম্বেডেড লেআউট ইন্সপেক্টর বোতাম টগল করুন . যদি আপনি একাধিক ডিভাইস বা প্রকল্পের মধ্যে স্যুইচ করেন, তাহলে লেআউট ইন্সপেক্টর স্বয়ংক্রিয়ভাবে সংযুক্ত ডিভাইসের অগ্রভাগে চলমান ডিবাগযোগ্য প্রক্রিয়াগুলির সাথে সংযোগ স্থাপন করে।

কিছু সাধারণ কাজ কীভাবে করবেন তা এখানে দেওয়া হল:

  • প্রতিটি ভিউয়ের হায়ারার্কি দেখতে এবং বৈশিষ্ট্যগুলি পরীক্ষা করতে, কম্পোনেন্ট ট্রি এবং অ্যাট্রিবিউটস টুল উইন্ডো ব্যবহার করুন। লেআউট ইন্সপেক্টরকে বৈশিষ্ট্যগুলি অ্যাক্সেস করার জন্য একটি কার্যকলাপ পুনরায় চালু করার প্রয়োজন হতে পারে। আরও তথ্যের জন্য, View Attribute Inspection দেখুন।
  • সরাসরি ভিউতে সিঙ্গেল ক্লিক করে ভিউ নির্বাচন করতে অথবা ভিউতে ডাবল ক্লিক করে কোডে নেভিগেট করতে, টগল ডিপ ইন্সপেক্ট সক্ষম করুন। গভীর পরিদর্শন বোতামটি টগল করুন .
  • অ্যাপের সাথে ইন্টারঅ্যাক্ট করতে, টগল ডিপ ইন্সপেক্ট অক্ষম করুন গভীর পরিদর্শন বোতামটি টগল করুন .
  • ভৌত ডিভাইসগুলি পরীক্ষা করতে, ডিভাইস মিররিং সক্ষম করুন।
  • আপনার অ্যাপের UI আপডেট করার সাথে সাথে লাইভ আপডেট সক্ষম করতে, লাইভ এডিট সক্ষম আছে কিনা তা পরীক্ষা করুন।
  • 3D মোড ব্যবহার করতে, একটি লেআউট ইন্সপেক্টর স্ন্যাপশট নিন। লেআউট ইন্সপেক্টর স্ন্যাপশট এবং তারপর 3D মোডে ক্লিক করুন 3D বোতাম .

একটি ভিউ নির্বাচন করুন বা আলাদা করুন

একটি ভিউ সাধারণত এমন কিছু আঁকে যা ব্যবহারকারী দেখতে এবং ইন্টারঅ্যাক্ট করতে পারে। কম্পোনেন্ট ট্রি প্রতিটি ভিউ কম্পোনেন্টের সাথে রিয়েল টাইমে আপনার অ্যাপের হায়ারার্কি দেখায়, যা আপনাকে আপনার অ্যাপের লেআউট ডিবাগ করতে সাহায্য করে কারণ আপনি আপনার অ্যাপের মধ্যে থাকা উপাদানগুলি এবং তাদের সাথে সম্পর্কিত মানগুলি কল্পনা করতে পারেন।

একটি ভিউ নির্বাচন করতে, কম্পোনেন্ট ট্রি অথবা লেআউট ডিসপ্লেতে এটিতে ক্লিক করুন। নির্বাচিত ভিউয়ের জন্য সমস্ত লেআউট অ্যাট্রিবিউট অ্যাট্রিবিউট প্যানেলে প্রদর্শিত হবে।

যদি আপনার লেআউটে ওভারল্যাপিং ভিউ থাকে, তাহলে ডিপ ইন্সপেক্ট মোডে ডান-ক্লিক করলে আপনি একটি অঞ্চলের সমস্ত ভিউ দেখতে পাবেন। গভীর পরিদর্শন বোতামটি টগল করুন । সামনে নেই এমন একটি ভিউ নির্বাচন করতে, কম্পোনেন্ট ট্রিতে এটিতে ক্লিক করুন অথবা লেআউটটি ঘোরান

জটিল লেআউটের সাথে কাজ করার জন্য, আপনি পৃথক ভিউগুলিকে আলাদা করতে পারেন যাতে লেআউটের শুধুমাত্র একটি উপসেট কম্পোনেন্ট ট্রিতে দেখানো হয় এবং লেআউট ডিসপ্লেতে রেন্ডার করা হয়। একটি ভিউ আলাদা করতে, একটি স্ন্যাপশট নিন। লেআউট ইন্সপেক্টর স্ন্যাপশট , Component Tree- তে ভিউতে ডান-ক্লিক করুন এবং Show Only Subtree অথবা Show Only Parents নির্বাচন করুন। সম্পূর্ণ ভিউতে ফিরে যেতে, ভিউতে ডান-ক্লিক করুন এবং Show All নির্বাচন করুন। একটি ভিউ আলাদা করার আগে আপনাকে অবশ্যই একটি স্ন্যাপশট নিতে হবে।

লেআউটের সীমানা লুকান এবং লেবেল দেখুন

লেআউট এলিমেন্টের জন্য বাউন্ডিং বক্স লুকাতে বা লেবেল দেখতে, ভিউ অপশনে ক্লিক করুন। বিকল্প দেখুন বোতাম লেআউটের উপরে প্রদর্শন করুন এবং Show Borders অথবা Show View Label টগল করুন।

লেআউট হায়ারার্কি স্ন্যাপশট ক্যাপচার করুন

লেআউট ইন্সপেক্টর আপনাকে আপনার চলমান অ্যাপের লেআউট অনুক্রমের স্ন্যাপশট সংরক্ষণ করতে দেয়, যাতে আপনি সেগুলি অন্যদের সাথে ভাগ করে নিতে পারেন বা পরে সেগুলি উল্লেখ করতে পারেন।

লেআউট ইন্সপেক্টর ব্যবহার করার সময় আপনি সাধারণত যে ডেটা দেখতে পান তা স্ন্যাপশটগুলি ধারণ করে, যার মধ্যে রয়েছে আপনার লেআউটের বিস্তারিত 3D রেন্ডারিং, আপনার ভিউ, কম্পোজ, অথবা হাইব্রিড লেআউটের কম্পোনেন্ট ট্রি এবং আপনার UI এর প্রতিটি কম্পোনেন্টের জন্য বিস্তারিত বৈশিষ্ট্য। একটি স্ন্যাপশট সংরক্ষণ করতে, স্ন্যাপশট এক্সপোর্ট/ইমপোর্ট ক্লিক করুন। স্ন্যাপশট রপ্তানি/আমদানি এবং তারপর স্ন্যাপশট রপ্তানি করুন

Import Snapshot এ ক্লিক করে পূর্বে সংরক্ষিত Layout Inspector স্ন্যাপশট লোড করুন।

3D মোড

লেআউট ডিসপ্লেতে রানটাইমের সময় আপনার অ্যাপের ভিউ হায়ারার্কির একটি উন্নত 3D ভিজ্যুয়ালাইজেশন রয়েছে। এই বৈশিষ্ট্যটি ব্যবহার করতে, একটি স্ন্যাপশট নিন। স্ন্যাপশট রপ্তানি/আমদানি , 3D মোড বোতামে ক্লিক করুন 3D বোতাম স্ন্যাপশট ইন্সপেক্টর উইন্ডোতে, এবং মাউস টেনে এটি ঘোরান।

লেআউট ইন্সপেক্টর: 3D ভিউ
চিত্র ২। একটি লেআউটের ঘূর্ণিত ত্রিমাত্রিক দৃশ্য।
লেআউট ইন্সপেক্টর: লেয়ার স্পেসিং ভিউ
চিত্র ৩. লেআউটের স্তরগুলি প্রসারিত বা সংকুচিত করতে, লেয়ার স্পেসিং স্লাইডার ব্যবহার করুন।

একটি রেফারেন্স ইমেজ ওভারলের সাথে অ্যাপ লেআউটের তুলনা করুন

আপনার অ্যাপ লেআউটকে একটি রেফারেন্স ইমেজের সাথে তুলনা করতে, যেমন একটি UI মকআপ, আপনি লেআউট ইন্সপেক্টরে একটি বিটম্যাপ ইমেজ ওভারলে লোড করতে পারেন।

  • একটি ওভারলে লোড করতে, লোড ওভারলে নির্বাচন করুন লেআউট ইন্সপেক্টর টুলবার থেকে বিকল্পটি। ওভারলেটি লেআউটের সাথে মানানসই করে স্কেল করা হয়েছে।
  • ওভারলের স্বচ্ছতা সামঞ্জস্য করতে, ওভারলে আলফা স্লাইডার ব্যবহার করুন।
  • ওভারলে অপসারণ করতে, ওভারলে সাফ করুন এ ক্লিক করুন

কম্পোজ পরিদর্শন করুন

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

কম্পোজের জন্য লেআউট ইন্সপেক্টর সম্পর্কে আরও জানুন

অ্যাট্রিবিউট পরিদর্শন দেখুন

লেআউট ইন্সপেক্টর সঠিকভাবে কাজ করার জন্য নিম্নলিখিত গ্লোবাল সেটিং প্রয়োজন:

adb shell settings put global debug_view_attributes 1

This option generates extra information for inspection on all of the processes on the device.

লেআউট ইন্সপেক্টর শুরু হলে স্বয়ংক্রিয়ভাবে সেটিংটি সক্ষম করে। এর ফলে বর্তমান ফোরগ্রাউন্ড অ্যাক্টিভিটি পুনরায় চালু হয়। ডিভাইসে ফ্ল্যাগটি ম্যানুয়ালি অক্ষম না করা পর্যন্ত আপনি আর একটি অ্যাক্টিভিটি পুনরায় চালু দেখতে পাবেন না।

পতাকাটি নিষ্ক্রিয় করতে, নিম্নলিখিত adb কমান্ডটি চালান:

adb shell settings delete global debug_view_attributes

বিকল্পভাবে, আপনার ডিভাইসের ডেভেলপার অপশন থেকে "দৃশ্য বৈশিষ্ট্য পরিদর্শন সক্ষম করুন" বন্ধ করুন।

স্বতন্ত্র লেআউট ইন্সপেক্টর

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

স্বতন্ত্র মোডে, লাইভ আপডেটগুলি সক্রিয় করুন "লাইভ আপডেট" বোতামে ক্লিক করে। লেআউট ইন্সপেক্টর টুলবার থেকে বিকল্পটি।