features
Responsive#
Platform & StatusBar#
ما می توانیم توسط Platform یکسری استایل ها و قابلیت ها را بر اساس os یا versionیا موارد دیگر تغییر دهیم و برنامه خودمان را رسپانسیو کنیم:
همچنین می توان از StatusBar برای قرار دادن محتوای برنامه یمان زیر قسمت بالایی صفحه گوشی استفاده کرد ک میتوان از آن ب عنوان یک کامپوننت استفاده کرد و یا از آن در استایل ها و بخش های مختلف استفاده کرد.
همچنین می توان فایل های رسپانسیومان را جدا بنویسیم و آن ها را مانند کد ک کامنت شده است، در استایل های مان require کنیم.
همچنین می توان بجای استفاده از کامپوننت StatusBar ب صورت جدا مانند StatusBar.currentHeightدر قسمت استایل ها استفاده کرد و محتوا را پایین قسمت بالایی گوشی قرار دهیم.
Dimensions#
ما برای اینکه ب ابعاد گوشی کاربر دسترسی داشته باشیم باید از Dimensions استفاده کنیم
ک هم اندازه screen ک معمولا ارتفاع بیشتری دارد (بخاطر استاتوس بار و نوار پایین گوشی) و
هم اندازه window ک دقیقا اندازه قسمت مورد استفاده هر برنامه است را به ما می دهد.
🎉 همچنین می توان از هوک ()useWindowDimensions نیز استفاده کنیم ک دقیقا اندازه window را ب ما می دهد و هنگام تغییر orientation، یکبار کامپوننت را رندر می کند.
🎉 همچنین اگر می خواهیم برنامه ای برای دستگاه هایی ک اندازه صفحه نمایش آن ها قابل تغییر است بنویسیم، می توانیم از addEventListener درون Dimensions نیز استفاده کنیم.
🎉 همچنین برای تجربه بهتر و استفاده از موارد بیشتر، بهتر است از پکیج react-native-community/hooks@ استفاده شود ک در قسمت پکیج ها توضیح داده شده است.
android & ios#
برای اینکه استایل ها و کد هایی ک می نویسیم برای هر پلتفرمی جدا باشد، می توانیم ب 2 روش زیر عمل کنیم:
- خود RN یک قابلیت دارد ک اگر در انتهای یک کامپوننت از کلمات
iosیاandroidاستفاده کنیم، بر اساس آن کد های ما را نمایش می دهد یعنی مثلا کدiosرا در آن سیستم عامل فقط نمایش می دهد
ابتدا باید یک فولدر در فولدر components بسازیم و سپس درون آن یک فایل بدون هیچ پسوندی و با نام دلخواه مان می سازیم
حال 2 فایل دیگر با نام های AppText.ios.js و AppText.android.js می سازیم و کد ها و استایل های مربوطه را در آن ها قرار می دهیم:
حال کافیست در هر کامپوننتی ک می خواهیم، کامپوننت اصلی این فایل ها ک همان AppText.js می باشد را صدا بزنیم و خودش بر اساس سیستم عامل تشخیص می دهد ک کدام فایل را باید اجرا کند.
- همچنین می توان بجای این موارد، کنار هر کامپوننتی یک فایل
styles.jsقرار دهیم و بجای اینکه استایل ها را درون هر فایل بنویسیم، درون یک فایل جدا قرار دهیم(بخاطر استفاده ازPlatformو نوشتن استایل های جدا برای هر سیستم عامل، استایل ها زیاد می شود و بهتر است ک آن را جدا کنیم.)
حال می توان در فایل اصلی ک AppText.js می باشد از آن استفاده کنیم.