TouchableNativeFeedback, TouchableHightlight বা TouchableOpacity কখন ব্যবহার করবেন?


94

প্রতিক্রিয়া দেশীয়, একটি বোতাম করতে অন্তত তিনটি উপায় আছে: TouchableNativeFeedback, TouchableHighlightএবং TouchableOpacity। এছাড়াও রয়েছে TouchableWithoutFeedback, যা ডকুমেন্টেশনে পরিষ্কারভাবে বলা আছে যে আপনার ব্যবহার করা উচিত নয় কারণ "প্রেসের প্রতিক্রিয়াযুক্ত সমস্ত উপাদানগুলির স্পর্শ করার সময় ভিজ্যুয়াল প্রতিক্রিয়া থাকা উচিত"।

এই তিনটির মধ্যে অন্য কোনও উল্লেখযোগ্য পার্থক্য রয়েছে কি? এর মধ্যে একটি গোটো উপাদান? কি যদি আপনি ব্যবহার করা উচিত TouchableHighlightউপর TouchableOpacity? কোন কার্যকারিতা জড়িত আছে?

আমি এখনই একটি আবেদন লিখছি, এবং দেখতে পাচ্ছি যে তিনটিই ট্যাপ এবং ক্রিয়াকলাপের (এই ক্ষেত্রে একটি নেভিগেশন পরিবর্তন) এর মধ্যে উল্লেখযোগ্য বিলম্ব রয়েছে। এটিকে স্নাপিয়ার করার কোনও উপায় আছে কি?


4
যতক্ষণ না চিত্তাকর্ষকতা সম্পর্কিত ... কনসোল.লগকে যে কোনও আউটপুট আউটপুট আউট করার ফলে দৃশ্যের ট্রানজিশনগুলি যথেষ্ট গতি হয়ে যায়। আমি কেবল নেটিভ প্রতিক্রিয়া শুরু করছি এবং আমার প্রথম উপাদানগুলি বিকাশ করার সময় গতি কিছুটা অনুভূত হয়েছিল। আমি সমস্ত কনসোল.লগ কমান্ড সরিয়েছি (রিডেক্স লগার অক্ষম করা সহ) এবং মুক্তির টার্গেটের জন্য নির্মিত এবং গতি আমাকে উড়িয়ে দিয়েছে। এটি কর্ডোভা অ্যাপ্লিকেশন বিকাশ করে আসছে।
ট্র্যাভিস হোয়াইট

উত্তর:


115

উত্স: https://medium.com/differential/better-cross-platform-react-native-components-cb8aadeba472 , নিক ভিয়েন্টেজ দ্বারা

TouchableHighlight

• এটি কী করে: যখন চাপ দেওয়া হয় তখন উপাদানটির পটভূমিকে অন্ধকার বা হালকা করে।

• কখন এটি ব্যবহার করবেন: স্পর্শযোগ্য উপাদান বা বোতামগুলির জন্য আইওএসে শক্ত আকার বা পটভূমি এবং তালিকার আইটেমগুলিতে।

TouchableOpacity

• এটি কী করে: টিপে গেলে পুরো উপাদানটির অস্বচ্ছতা হালকা করে।

• কখন এটি ব্যবহার করবেন: স্পর্শযোগ্য উপাদানগুলির জন্য iOS এ আইওএসে যা কোনও ব্যাকগ্রাউন্ডের রঙ ছাড়াই স্বতন্ত্র পাঠ্য বা আইকন।

TouchableNativeFeedback

• এটি কী করে: টিপে উঠলে পটভূমিতে একটি রিপল প্রভাব যুক্ত করে।

• কখন এটি ব্যবহার করবেন: প্রায় সমস্ত স্পর্শযোগ্য উপাদানগুলির জন্য অ্যান্ড্রয়েডে।


ধন্যবাদ! আমি এই নিবন্ধটি পড়েছিলাম, তবে আমার নিজের প্রশ্নের উত্তর দেওয়ার জন্য এটি আর খুঁজে পেলাম না। আমি ঠিক এটিই খুঁজছিলাম।
দামাসনেট

4
TouchableNativeFeedback ব্যবহার করার সময়, এর এই বর্গক্ষেত্রের ব্যাকগ্রাউন্ড রয়েছে (আমি এটি রিপল বলতে চাই না) আমরা কীভাবে এটি কাস্টমাইজ করব (উদাহরণস্বরূপ এর আকার বাড়ানো, এটি গোলাকার করা, অথবা সম্ভবত এটি সরানো এবং কেবল একা রিপল রাখা)?
ইয়াসির

8

ঠিক আছে, আমি সাধারণত এইভাবে সিদ্ধান্ত নেব যে কী ব্যবহার করবেন:

  • যদি আমি কেবল অ্যান্ড্রয়েড-এর জন্য তৈরি করে চলেছি এবং উপাদানটি যথেষ্ট বড় যে স্থানীয় ব্যবহারগুলি অন্যদের ব্যবহারের চেয়ে দৃশ্যমানভাবে আলাদা হবে তবে আমি ব্যবহার করি TouchableNativeFeedback
  • আমি যদি উপাদানটিতে অস্বচ্ছতাটি নিয়ন্ত্রণ করতে চাই বা স্পর্শ করার সময় আমি বাটনটি রঙিন করতে চাই এবং আমি স্পর্শযোগ্যের অভ্যন্তরে কোনও উপাদানটির কেন্দ্রিক অবস্থাকে নিয়ন্ত্রণ করতে চাই না, তবে আমি ব্যবহার করি TouchableHighlight। ( TouchableOpacityআপনি নিজেকে অস্বচ্ছতা নিয়ন্ত্রণ করার সময় কিছু অদ্ভুত অংশ পেয়েছে)।
  • অন্যান্য সমস্ত ক্ষেত্রে, আমি ব্যবহার করি TouchableOpacityকারণ এটি এর চেয়ে বেশি "খালি"TouchableHighlight

4
এই উত্তরটি একটি সহায়ক সূচনা… তবে আমি কেন অন্য কোনও বনাম ব্যবহার করতে পারি তার জন্য আরও শক্ত প্রযুক্তিগত এবং / অথবা নকশা সম্পর্কিত কারণগুলি খুঁজে পেতে আশা করছিলাম।
বিউ স্মিথ

2

আমি মনে করি ডক্সে বর্ণিত প্রধান প্রয়োজনীয় পার্থক্য:

TouchableHighlight must have one child (not zero or more than one). If you wish to have several child components, wrap them in a View.লিঙ্ক

স্পর্শযোগ্য হাইলাইট

স্পর্শযোগ্য হাইটলাইট মতামত তৈরির জন্য একটি মোড়ক স্পর্শগুলিতে সঠিকভাবে প্রতিক্রিয়া জানায়। নীচে টিপে টিপে, মোড়ানো ভিউটির অস্বচ্ছতা হ্রাস পেয়েছে, যা নীচের বর্ণটি দর্শনকে অন্ধকার করার বা রঙিন করার অনুমতি দেয়।

আন্ডারএলটি শিশুকে একটি নতুন ভিউতে মোড়ানো থেকে আসে, যা লেআউটকে প্রভাবিত করতে পারে এবং কখনও কখনও সঠিকভাবে ব্যবহার না করা হলে অযাচিত দৃশ্যকলা তৈরি করতে পারে, উদাহরণস্বরূপ যদি মোড়ানো দৃশ্যের ব্যাকগ্রাউন্ড কালার স্পষ্টভাবে একটি অস্বচ্ছ রঙে সেট না করা থাকে।

স্পর্শযোগ্যতা

স্পর্শযোগ্যতা # দৃশ্যের জন্য সঠিকভাবে প্রতিক্রিয়া দেখানোর জন্য একটি মোড়ক। ডাউন টিপে, মোড়ানো ভিউটির অস্বচ্ছতা হ্রাস পেয়েছে, এটি ম্লান হচ্ছে।


-3

যদি তুমি চাও

  • চাপ উপর হাইলাইট বোতাম - ব্যবহার TouchableHighlight
  • টিপতে বোতামের অস্বচ্ছতা পরিবর্তন করুন - ব্যবহার করুন TouchableOpacity

4
আমি মনে করি লেখক এ সম্পর্কে সচেতন এবং এটি আরও কিছু জটিল উত্তর চেয়েছে।
রাদেক Czemerys

4
তদতিরিক্ত , আপনি এমনকি ব্যবহার করতে পারেন <TouchableHighlight underlayColor="transparent" />... এবং ফেসবুক তাদের F8 অ্যাপের সমস্তগুলিকে
মিশ্রিত করে github.com/fbs
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.