প্রতিক্রিয়া নেটিভ মধ্যে পর্দার প্রস্থ


105

নেটিভ প্রতিক্রিয়াতে আমি কীভাবে পর্দার প্রস্থ পাব?

(আমার এটি দরকার কারণ আমি কিছু পরম উপাদান ব্যবহার করি যা ওভারল্যাপ হয় এবং বিভিন্ন ডিভাইসের সাথে স্ক্রিন পরিবর্তনে তাদের অবস্থান)

উত্তর:


171

প্রতিক্রিয়া-নেটিভে আমাদের একটি ডায়মেনশনস নামে একটি বিকল্প রয়েছে

আপনি যেখানে চিত্র, এবং পাঠ্য এবং অন্যান্য উপাদান অন্তর্ভুক্ত করেছেন সেখানে শীর্ষ ভেরে মাত্রা অন্তর্ভুক্ত করুন।

তারপরে আপনার স্টাইলশিটে আপনি নীচের মতো ব্যবহার করতে পারেন,

ex: {
width: Dimensions.get('window').width,
height: Dimensions.get('window').height
}

এইভাবে আপনি ডিভাইস উইন্ডো এবং উচ্চতা পেতে পারেন।


আমি 2 টি উপাদানগুলির প্রস্থের সমষ্টিকে সমান করতে চাইলে আমি এটি কীভাবে ব্যবহার করতে পারি Dimensions.get('window').width?
অ্যান্ডি 95

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

77

ডিভাইসের প্রস্থ পেতে কেবল এই কোডটি ঘোষণা করুন

let deviceWidth = Dimensions.get('window').width

সম্ভবত এটি স্পষ্টতই কিন্তু, মাত্রা একটি প্রতিক্রিয়া-নেটিভ আমদানি

import { Dimensions } from 'react-native'

মাত্রা ব্যতীত কাজ করবে না


10
ধন্যবাদ! স্ট্যাক ওভারফ্লোতে থাকা লোকেরা যেখানে তাদের আমদানি খুব ঘন ঘন থেকে আসে leave এটি অন্তর্ভুক্ত করার জন্য ধন্যবাদ, এটাই আমার প্রয়োজন ছিল। এটি সরকারী দস্তাবেজে নেই।
জ্যাক ডেভিডসন

23

আপনার যদি কোনও স্টাইল উপাদান থাকে যা আপনার উপাদান থেকে আপনার প্রয়োজন হতে পারে তবে আপনার ফাইলটির শীর্ষে এমন কিছু থাকতে পারে:

const Dimensions = require('Dimensions');

const window = Dimensions.get('window');

এবং তারপরে আপনি fulscreen: {width: window.width, height: window.height},আপনার স্টাইল উপাদান সরবরাহ করতে পারেন। আশাকরি এটা সাহায্য করবে


18

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

আপনি স্ক্রিনের আসল পিক্সেল আকার পেতে প্রতিক্রিয়া নেটিভ পিক্সেল অনুপাত ব্যবহার করতে পারেন।

আপনার মাত্রা এবং পিক্সেল تناسب উভয়ের জন্য আমদানি বিবৃতি প্রয়োজন

import { Dimensions, PixelRatio } from 'react-native';

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

const { width, height } = Dimensions.get('window');

নেটিভ ডাইমেনশন ডক্স থেকে প্রতিক্রিয়া :

দ্রষ্টব্য: মাত্রাগুলি তাত্ক্ষণিকভাবে উপলভ্য থাকলেও সেগুলি পরিবর্তিত হতে পারে (উদাহরণস্বরূপ> ডিভাইস রোটেশনের কারণে) সুতরাং যে কোনও রেন্ডারিং যুক্তি বা স্টাইলগুলি যা এই ধ্রুবকগুলির উপর নির্ভর করে> মানটি ক্যাশে না করে প্রতিটি রেন্ডারে এই ফাংশনটি কল করার চেষ্টা করা উচিত (উদাহরণস্বরূপ , স্টাইলশিটে কোনও মান নির্ধারণের পরিবর্তে ইনলাইন স্টাইলগুলি ব্যবহার করা)।

যারা কৌতূহলী তাদের জন্য পিক্সেল রেটিও ডক্স লিঙ্ক, তবে সেখানে বেশি কিছু নেই।

আসলে পর্দার আকার ব্যবহার করতে:

PixelRatio.getPixelSizeForLayoutSize(width);

বা আপনি যদি প্রস্থ এবং উচ্চতাটি বিশ্বব্যাপী হতে না চান তবে আপনি এটিকে যে কোনও জায়গায় ব্যবহার করতে পারেন

PixelRatio.getPixelSizeForLayoutSize(Dimensions.get('window').width);

10

রিয়েট নেটিভ "ডাইমেনশনস" এপিআই নিয়ে আসে যা আমাদের 'রিএ্যাক্ট-নেটিভ' থেকে আমদানি করা দরকার

import { Dimensions } from 'react-native';

তারপর,

<Image source={pic} style={{width: Dimensions.get('window').width, height: Dimensions.get('window').height}}></Image>

8

এপ্রিল 10th 2020 উত্তর:

ব্যবহারের প্রস্তাবিত উত্তর Dimensionsএখন নিরুৎসাহিত করা হয়েছে। দেখুন: https://reactnative.dev/docs/dimension

প্রস্তাবিত পদ্ধতির মধ্যে useWindowDimensionsহুক ব্যবহার করুন প্রতিক্রিয়া; https://reactnative.dev/docs/usewindowdimension যা হুক ভিত্তিক এপিআই ব্যবহার করে এবং যখন পর্দার মান পরিবর্তন হয় (উদাহরণস্বরূপ স্ক্রিন রোটেশনে) তখন আপনার মানও আপডেট করে:

import {useWindowDimensions} from 'react-native';

const windowWidth = useWindowDimensions().width;
const windowHeight = useWindowDimensions().height;

দ্রষ্টব্য: useWindowDimensionsকেবল বিক্রিয়া নেটিভ 0.61.0 থেকে পাওয়া যায়: https://reactnative.dev/blog/2019/09/18/version-0.61


3

মাত্র দুটি সহজ পদক্ষেপ।

  1. import { Dimensions } from 'react-native' আপনার ফাইলের শীর্ষে।
  2. const { height } = Dimensions.get('window');

উইন্ডো স্ক্রিনের উচ্চতা এখন উচ্চতা ভেরিয়েবলে সংরক্ষণ করা হয়।


1
আপনি ঠিক কেন একই উত্তর দিয়ে উত্তর দিয়েছেন তা নিশ্চিত নন? এটি আসলে কী যুক্ত করে?
রামবাতিনো

2

react-native-responsive-screen সবেমাত্র এখানে রেপো আবিষ্কার করেছেন । এটি খুব সহজেই পাওয়া গেছে।

প্রতিক্রিয়া-স্থানীয়-প্রতিক্রিয়াশীল-স্ক্রিন একটি ছোট লাইব্রেরি যা 2 টি সহজ পদ্ধতি সরবরাহ করে যাতে প্রতিক্রিয়ার নেটিভ বিকাশকারীরা তাদের ইউআই উপাদানগুলিকে পুরোপুরি প্রতিক্রিয়াযুক্ত করতে পারে। কোনও মিডিয়া প্রশ্নের প্রয়োজন নেই।

এটি স্ক্রিন ওরিয়েন্টেশন সনাক্তকরণ এবং নতুন মাত্রা অনুসারে স্বয়ংক্রিয়ভাবে পুনরায় সরবরাহের জন্য একটি thirdচ্ছিক তৃতীয় পদ্ধতিও সরবরাহ করে।


0

আমি মনে করি ব্যবহারগুলি react-native-responsive-dimensionsআপনাকে আপনার ক্ষেত্রে কিছুটা ভাল সাহায্য করতে পারে।

আপনি এখনও পেতে পারেন:

ডিভাইস প্রস্থ এবং ব্যবহার করে responsiveScreenWidth(100)

এবং

ডিভাইস উচ্চতা ব্যবহার করে এবং responsiveScreenHeight(100)

আপনি প্রস্থ এবং উচ্চতার 100% এর চেয়ে বেশি অনুপাতে মার্জিন এবং অবস্থানের মান নির্ধারণ করে আপনার নিখুঁত উপাদানগুলির অবস্থানগুলি আরও সহজে সাজিয়ে তুলতে পারেন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.