enableEdgeToEdge কল করা হলে তা সত্যিকারের ব্যাকওয়ার্ড কম্প্যাটিবল হওয়ার জন্য প্রয়োজনীয় লজিককে এনক্যাপসুলেট করে এবং তাই এজ-টু-এজ ডিসপ্লে সেট আপ করার জন্য এটিই প্রস্তাবিত উপায়। enableEdgeToEdge ব্যবহার করে এজ-টু-এজ ডিসপ্লে তৈরির আধুনিক পদ্ধতির জন্য এই গাইডের পরিবর্তে Compose এবং Views-এর ডকুমেন্টেশন দেখুন।
যদিও এটি সুপারিশ করা হয় না, তবে আপনার অ্যাপকে যদি ম্যানুয়ালি একটি এজ-টু-এজ ডিসপ্লে সেট আপ করতেই হয়, তাহলে আপনি এই ধাপগুলো অনুসরণ করতে পারেন:
-
WindowCompat.setDecorFitsSystemWindows(window, false)কল করুন। - সিস্টেম বারগুলোকে স্বচ্ছ করুন।
- হ্যান্ডেল ইনসেট।
আপনার অ্যাপটি পূর্ণ স্ক্রিনে সাজান
আপনার অ্যাপটিকে সিস্টেম বারের পিছনে বিন্যাস করতে WindowCompat.setDecorFitsSystemWindows(window, false) ব্যবহার করুন, যেমনটি নিম্নলিখিত কোড উদাহরণে দেখানো হয়েছে:
কোটলিন
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) WindowCompat.setDecorFitsSystemWindows(window, false) }
জাভা
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WindowCompat.setDecorFitsSystemWindows(getWindow(), false); }
সিস্টেম বারগুলোর রঙ পরিবর্তন করুন
অ্যান্ড্রয়েড ১৪ এবং তার পূর্ববর্তী সংস্করণগুলির জন্য ম্যানুয়ালি একটি এজ-টু-এজ লেআউট তৈরি করার সময়, আপনার অ্যাপটিকে অবশ্যই সিস্টেম বারগুলিও স্বচ্ছ করতে হবে।
আপনি themes.xml ফাইলটি সম্পাদনা করে স্ট্যাটাস ও নেভিগেশন বারের রঙ স্বচ্ছ করতে এবং স্ট্যাটাস বার আইকনের রঙ পরিবর্তন করতে পারেন।
<!-- values-v29/themes.xml -->
<style name="Theme.MyApp">
<item name="android:navigationBarColor">
@android:color/transparent
</item>
<!-- Optional: set to transparent if your app is drawing behind the status bar. -->
<item name="android:statusBarColor">
@android:color/transparent
</item>
<!-- Optional: set for a light status bar with dark content. -->
<item name="android:windowLightStatusBar">
true
</item>
</style>
আপনি theme.xml এর পরিবর্তে WindowInsetsControllerCompat API ব্যবহার করে স্ট্যাটাস বারের কন্টেন্ট কালার নিয়ন্ত্রণ করতে পারেন। এটি করার জন্য, setAppearanceLightNavigationBars() ফাংশনটি ব্যবহার করুন এবং নেভিগেশনের ফোরগ্রাউন্ড কালার হালকা রঙে পরিবর্তন করতে true অথবা ডিফল্ট রঙে ফিরিয়ে আনতে false পাস করুন।
কোটলিন
val windowInsetsController = ViewCompat.getWindowInsetsController(window.decorView) windowInsetsController?.isAppearanceLightNavigationBars = true
জাভা
WindowInsetsControllerCompat windowInsetsController = ViewCompat.getWindowInsetsController(getWindow().getDecorView()); if (windowInsetsController == null) { return; } windowInsetsController.setAppearanceLightNavigationBars(true);
হ্যান্ডেল ইনসেট
অবশেষে, আপনার অ্যাপকে অবশ্যই ইনসেট পরিচালনা করতে হবে, যাতে গুরুত্বপূর্ণ UI সিস্টেম বার এবং ডিসপ্লে কাটআউট এড়াতে পারে। কীভাবে ইনসেট পরিচালনা করতে হয় তা জানতে Compose এবং Views ডকুমেন্টেশন দেখুন।