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

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

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

এবার শুরু করা যাক

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

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

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

একটি দৃশ্য নির্বাচন করুন বা বিচ্ছিন্ন করুন

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

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

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

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

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

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

লেআউট অনুক্রমের স্ন্যাপশট ক্যাপচার করুন

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

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

ইমপোর্ট স্ন্যাপশট ক্লিক করে একটি পূর্বে সংরক্ষিত লেআউট ইন্সপেক্টর স্ন্যাপশট লোড করুন।

3D মোড

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

লেআউট ইন্সপেক্টর: 3D ভিউ
চিত্র 2. একটি লেআউটের ঘোরানো 3D ভিউ।
লেআউট ইন্সপেক্টর: লেয়ার স্পেসিং ভিউ
চিত্র 3. লেআউটের স্তরগুলিকে প্রসারিত বা সংকুচিত করতে, লেয়ার স্পেসিং স্লাইডার ব্যবহার করুন।

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

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

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

রচনা পরিদর্শন করুন

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

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

কার্যকলাপ পুনরায় আরম্ভ এড়িয়ে চলুন

লেআউট ইন্সপেক্টরের সঠিকভাবে কাজ করার জন্য নিম্নলিখিত গ্লোবাল সেটিংসের একটি প্রয়োজন। আপনি যদি একটি বিশ্বব্যাপী সেটিং নির্দিষ্ট না করেন, লেআউট ইন্সপেক্টর স্বয়ংক্রিয়ভাবে একটি সেট করে।

  1. adb shell settings put global debug_view_attributes_application_package <processname>

    এই বিকল্পটি নির্দিষ্ট প্রক্রিয়ার পরিদর্শনের জন্য অতিরিক্ত তথ্য তৈরি করে।

  2. adb shell settings put global debug_view_attributes 1

    এই বিকল্পটি ডিভাইসে সমস্ত প্রক্রিয়ার পরিদর্শনের জন্য অতিরিক্ত তথ্য তৈরি করে।

একটি গ্লোবাল সেটিং পরিবর্তন একটি কার্যকলাপ পুনরায় আরম্ভ হতে পারে. একটি অ্যাক্টিভিটি রিস্টার্ট এড়াতে, আপনি হয় Android স্টুডিওতে সেটিংস পরিবর্তন করতে পারেন বা আপনার ডিভাইসের সেটিংসে বিকাশকারী বিকল্পগুলি পরিবর্তন করতে পারেন।

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

রান কনফিগারেশনে অ্যাক্টিভিটি রিস্টার্ট বিকল্প
চিত্র 4. রান/ডিবাগ কনফিগারেশন ডায়ালগ থেকে স্বয়ংক্রিয় রিফ্রেশ সক্ষম করুন।

বিকল্পভাবে, আপনার ডিভাইসের বিকাশকারী বিকল্পগুলি সক্ষম করুন এবং তারপরে ডিভাইসের বিকাশকারী সেটিংস থেকে দেখুন বৈশিষ্ট্য পরিদর্শন সক্ষম করুন

স্বতন্ত্র লেআউট পরিদর্শক

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

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