WebView
একটি সাধারণভাবে ব্যবহৃত উপাদান যা রাষ্ট্র পরিচালনার জন্য একটি উন্নত সিস্টেম অফার করে। একটি WebView
এর অবস্থা বজায় রাখতে হবে এবং কনফিগারেশন পরিবর্তন জুড়ে স্ক্রোল অবস্থান। একটি WebView
স্ক্রোল অবস্থান হারাতে পারে যখন ব্যবহারকারী ডিভাইসটিকে ঘোরান বা একটি ভাঁজযোগ্য ফোন আনফোল্ড করে, যা ব্যবহারকারীকে আবার WebView
এর শীর্ষ থেকে পূর্ববর্তী স্ক্রোল অবস্থানে স্ক্রোল করতে বাধ্য করে।
WebView
এর অবস্থা পরিচালনা করতে ভাল। WebView
পুনঃনির্মিত হওয়ার সংখ্যা কমাতে যতটা সম্ভব কনফিগারেশন পরিবর্তনগুলি পরিচালনা করে আপনি এই গুণমানের সুবিধা নিতে পারেন। আপনার অ্যাপ্লিকেশানের কনফিগারেশন পরিবর্তনগুলি পরিচালনা করা উচিত কারণ কার্যকলাপ বিনোদন (কনফিগারেশন পরিবর্তনগুলি পরিচালনা করার সিস্টেমের উপায়) WebView
পুনরায় তৈরি করে, যার ফলে WebView
অবস্থা হারায়৷
রাষ্ট্র পরিচালনা করুন
কনফিগারেশন পরিবর্তনের সময় যতটা সম্ভব Activity
রিক্রিয়েশন এড়িয়ে চলুন, এবং WebView
অবৈধ হতে দিন যাতে এটি তার অবস্থা বজায় রাখার সময় আকার পরিবর্তন করতে পারে।
WebView
অবস্থা পরিচালনা করতে:
- আপনার অ্যাপ দ্বারা পরিচালিত কনফিগারেশন পরিবর্তন ঘোষণা করুন
-
WebView
অবস্থা অবৈধ করুন
1. আপনার অ্যাপের AndroidManifest.xml
ফাইলে কনফিগারেশন পরিবর্তন যোগ করুন
আপনার অ্যাপ দ্বারা পরিচালিত কনফিগারেশন পরিবর্তনগুলি নির্দিষ্ট করে কার্যকলাপ বিনোদন এড়িয়ে চলুন (ব্যবস্থার পরিবর্তে):
<activity
android:name=".MyActivity"
android:configChanges="screenLayout|orientation|screenSize
|keyboard|keyboardHidden|smallestScreenSize" />
2. যখনই আপনার অ্যাপ কনফিগারেশন পরিবর্তন পায় তখন WebView
বাতিল করুন
কোটলিন
override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) webView.invalidate() }
জাভা
@Override public void onConfigurationChanged(@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig); webview.invalidate(); }
এই ধাপটি শুধুমাত্র ভিউ সিস্টেমের ক্ষেত্রে প্রযোজ্য, কারণ Jetpack Compose-এর সঠিকভাবে Composable
এলিমেন্টের আকার পরিবর্তন করার জন্য কিছু বাতিল করার প্রয়োজন নেই। যাইহোক, সঠিকভাবে পরিচালিত না হলে কম্পোজ প্রায়ই একটি WebView
পুনরায় তৈরি করে।
মূল পয়েন্ট
-
android:configChanges
: ম্যানিফেস্ট<activity>
উপাদানের বৈশিষ্ট্য। অ্যাক্টিভিটি দ্বারা পরিচালিত কনফিগারেশন পরিবর্তনগুলি তালিকাভুক্ত করে। -
View#invalidate()
: পদ্ধতি যা একটি ভিউকে পুনরায় আঁকার কারণ করে।WebView
দ্বারা উত্তরাধিকারসূত্রে প্রাপ্ত।
ফলাফল
আপনার অ্যাপ্লিকেশানের WebView
উপাদানগুলি এখন একাধিক কনফিগারেশন পরিবর্তন জুড়ে তাদের অবস্থা এবং স্ক্রোল অবস্থান ধরে রেখেছে, আকার পরিবর্তন করা থেকে শুরু করে অভিযোজন পরিবর্তন থেকে ডিভাইস ভাঁজ করা এবং প্রকাশ করা পর্যন্ত।
এই নির্দেশিকা ধারণকারী সংগ্রহ
এই নির্দেশিকাটি এই কিউরেট করা কুইক গাইড সংগ্রহের অংশ যা বৃহত্তর অ্যান্ড্রয়েড উন্নয়ন লক্ষ্যগুলি কভার করে:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=bn)