EmojiCompat
সমর্থন লাইব্রেরির লক্ষ্য হল সর্বশেষ ইমোজির সাথে অ্যান্ড্রয়েড ডিভাইসগুলিকে আপ টু ডেট রাখা। এটি আপনার অ্যাপটিকে ☐ আকারে অনুপস্থিত ইমোজি অক্ষর দেখাতে বাধা দেয়, যা নির্দেশ করে যে আপনার ডিভাইসে পাঠ্য প্রদর্শনের জন্য কোনো ফন্ট নেই। EmojiCompat
সমর্থন লাইব্রেরি ব্যবহার করে, আপনার অ্যাপ ব্যবহারকারীদের সর্বশেষ ইমোজি পেতে Android OS আপডেটের জন্য অপেক্ষা করতে হবে না।
![ইমোজি দেখানো ডিভাইস](https://developer.android.com/static/guide/topics/ui/images/look-and-feel/emoji-compat/emoji-comparison.png?authuser=4&hl=bn)
নিম্নলিখিত সম্পর্কিত সংস্থান পড়ুন:
ইমোজিকম্প্যাট কিভাবে কাজ করে?
EmojiCompat
সাপোর্ট লাইব্রেরি অ্যান্ড্রয়েড 4.4 (API লেভেল 19) এবং উচ্চতর চলমান ডিভাইসগুলিতে পশ্চাদগামী-সামঞ্জস্যপূর্ণ ইমোজি সমর্থন বাস্তবায়নের জন্য ক্লাস প্রদান করে। আপনি বান্ডিল বা ডাউনলোডযোগ্য ফন্টগুলির সাথে EmojiCompat
কনফিগার করতে পারেন। কনফিগারেশন সম্পর্কে আরও তথ্যের জন্য, নিম্নলিখিত বিভাগগুলি পড়ুন:
EmojiCompat
একটি প্রদত্ত CharSequence
এর জন্য ইমোজি শনাক্ত করে, প্রয়োজনে EmojiSpans
দিয়ে প্রতিস্থাপন করে এবং অবশেষে ইমোজি গ্লিফগুলি রেন্ডার করে। চিত্র 2 প্রক্রিয়াটি প্রদর্শন করে।
![ইমোজিকম্প্যাট প্রক্রিয়া](https://developer.android.com/static/guide/topics/ui/images/look-and-feel/emoji-compat/architecture.png?authuser=4&hl=bn)
ডাউনলোডযোগ্য ফন্ট কনফিগারেশন
ডাউনলোডযোগ্য ফন্ট কনফিগারেশন একটি ইমোজি ফন্ট ডাউনলোড করতে ডাউনলোডযোগ্য ফন্ট সমর্থন লাইব্রেরি বৈশিষ্ট্য ব্যবহার করে। এটি প্রয়োজনীয় ইমোজি মেটাডেটাও আপডেট করে যা EmojiCompat
সমর্থন লাইব্রেরির জন্য ইউনিকোড স্পেসিফিকেশনের সর্বশেষ সংস্করণগুলির সাথে তাল মিলিয়ে চলতে হবে।
সমর্থন লাইব্রেরি নির্ভরতা যোগ করা হচ্ছে
EmojiCompat
সমর্থন লাইব্রেরি ব্যবহার করতে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট এনভায়রনমেন্টের মধ্যে আপনার অ্যাপ প্রকল্পের ক্লাসপাথ নির্ভরতা পরিবর্তন করতে হবে।
আপনার অ্যাপ্লিকেশন প্রকল্পে একটি সমর্থন লাইব্রেরি যোগ করতে:
- আপনার অ্যাপ্লিকেশনের
build.gradle
ফাইলটি খুলুন। -
dependencies
বিভাগে সমর্থন লাইব্রেরি যোগ করুন।
গ্রোভি
dependencies { ... implementation "androidx.emoji:emoji:28.0.0" }
কোটলিন
dependencies { ... implementation("androidx.emoji:emoji:28.0.0") }
ডাউনলোডযোগ্য ফন্ট কনফিগারেশন শুরু করা হচ্ছে
মেটাডেটা এবং টাইপফেস লোড করতে আপনাকে EmojiCompat
শুরু করতে হবে। যেহেতু শুরুতে কিছু সময় লাগতে পারে, তাই আরম্ভ করার প্রক্রিয়াটি একটি পটভূমির থ্রেডে চলে।
ডাউনলোডযোগ্য ফন্ট কনফিগারেশন সহ EmojiCompat
শুরু করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:
-
FontRequest
ক্লাসের একটি উদাহরণ তৈরি করুন এবং শংসাপত্রের জন্য ফন্ট প্রদানকারী কর্তৃপক্ষ, ফন্ট প্রদানকারী প্যাকেজ, ফন্ট কোয়েরি এবং হ্যাশের সেটের একটি তালিকা প্রদান করুন।FontRequest
সম্পর্কে আরও তথ্যের জন্য, ডাউনলোডযোগ্য ফন্ট ডকুমেন্টেশনে প্রোগ্রাম্যাটিকভাবে ডাউনলোডযোগ্য ফন্ট ব্যবহার করা বিভাগটি পড়ুন। -
FontRequestEmojiCompatConfig
এর একটি উদাহরণ তৈরি করুন এবংContext
এবংFontRequest
এর উদাহরণ প্রদান করুন। -
init()
পদ্ধতিতে কল করেEmojiCompat
শুরু করুন এবংFontRequestEmojiCompatConfig
এর উদাহরণ পাস করুন। - লেআউট XML এ
EmojiCompat
উইজেট ব্যবহার করুন। আপনি যদিAppCompat
ব্যবহার করেন, তাহলে AppCompat এর সাথে EmojiCompat উইজেট ব্যবহার করুন বিভাগটি পড়ুন।
কোটলিন
class MyApplication : Application() { override fun onCreate() { super.onCreate() val fontRequest = FontRequest( "com.example.fontprovider", "com.example", "emoji compat Font Query", CERTIFICATES ) val config = FontRequestEmojiCompatConfig(this, fontRequest) EmojiCompat.init(config) } }
জাভা
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); FontRequest fontRequest = new FontRequest( "com.example.fontprovider", "com.example", "emoji compat Font Query", CERTIFICATES); EmojiCompat.Config config = new FontRequestEmojiCompatConfig(this, fontRequest); EmojiCompat.init(config); } }
<android.support.text.emoji.widget.EmojiTextView android:layout_width="wrap_content" android:layout_height="wrap_content"/> <android.support.text.emoji.widget.EmojiEditText android:layout_width="wrap_content" android:layout_height="wrap_content"/> <android.support.text.emoji.widget.EmojiButton android:layout_width="wrap_content" android:layout_height="wrap_content"/>
ডাউনলোডযোগ্য ফন্ট কনফিগারেশনের সাথে কীভাবে EmojiCompat
কনফিগার করবেন সে সম্পর্কে আরও তথ্যের জন্য, ইমোজি সামঞ্জস্যের নমুনা অ্যাপ Java | কোটলিন ।
গ্রন্থাগারের উপাদান
![ইমোজিকম্প্যাট প্রক্রিয়ায় লাইব্রেরি উপাদান](https://developer.android.com/static/guide/topics/ui/images/look-and-feel/emoji-compat/basic-components.png?authuser=4&hl=bn)
- উইজেট:
EmojiEditText
,EmojiTextView
,EmojiButton
-
TextView
,EditText
, এবংButton
সহEmojiCompat
ব্যবহার করার জন্য ডিফল্ট উইজেট বাস্তবায়ন। -
EmojiCompat
- সমর্থন লাইব্রেরির জন্য প্রধান পাবলিক পৃষ্ঠ. এটি সমস্ত বাহ্যিক কলগুলি সম্পাদন করে এবং সিস্টেমের অন্যান্য অংশগুলির সাথে সমন্বয় করে।
-
EmojiCompat.Config
- তৈরি করা সিঙ্গলটন উদাহরণ কনফিগার করে।
-
EmojiSpan
- একটি
ReplacementSpan
সাবক্লাস যা অক্ষর (ক্রম) প্রতিস্থাপন করে এবং গ্লিফ রেন্ডার করে। -
EmojiCompat
ফন্ট -
EmojiCompat
ইমোজি প্রদর্শনের জন্য একটি ফন্ট ব্যবহার করে। এই ফন্টটি অ্যান্ড্রয়েড ইমোজি ফন্টের একটি পরিবর্তিত সংস্করণ। ফন্টটি নিম্নরূপ সংশোধন করা হয়েছে:- ইমোজি রেন্ডার করার জন্য পশ্চাদগামী সামঞ্জস্য প্রদান করতে, সমস্ত ইমোজি অক্ষরগুলিকে ইউনিকোডের পরিপূরক ব্যক্তিগত ব্যবহারের এলাকা-এ U+F0001 দিয়ে শুরু করে একটি একক ইউনিকোড কোড পয়েন্ট দিয়ে উপস্থাপন করা হয়।
- অতিরিক্ত ইমোজি মেটাডেটা ফন্টে একটি বাইনারি বিন্যাসে ঢোকানো হয় এবং
EmojiCompat
দ্বারা রানটাইমে পার্স করা হয়। প্রাইভেট ট্যাগ Emji সহ ফন্টেরmeta
টেবিলে ডেটা এমবেড করা হয়েছে।
কনফিগারেশন বিকল্প
আপনি EmojiCompat
আচরণ পরিবর্তন করতে EmojiCompat
উদাহরণ ব্যবহার করতে পারেন। কনফিগারেশন সেট করতে আপনি বেস ক্লাস থেকে নিম্নলিখিত পদ্ধতিগুলি ব্যবহার করতে পারেন:
-
setReplaceAll()
:EmojiCompat
EmojiSpans
সাথে পাওয়া সমস্ত ইমোজি প্রতিস্থাপন করবে কিনা তা নির্ধারণ করে। ডিফল্টরূপে,EmojiCompat
সিস্টেমটি একটি ইমোজি রেন্ডার করতে পারে এবং সেই ইমোজিগুলিকে প্রতিস্থাপন করে না কিনা তা বোঝার যথাসাধ্য চেষ্টা করে।true
হিসাবে সেট করা হলে,EmojiCompat
EmojiSpans
সাথে পাওয়া সমস্ত ইমোজি প্রতিস্থাপন করে। -
setEmojiSpanIndicatorEnabled()
:EmojiCompat
EmojiSpan
সাথে একটি ইমোজি প্রতিস্থাপন করেছে কিনা তা নির্দেশ করে।true
হিসাবে সেট করা হলে,EmojiCompat
EmojiSpan
জন্য একটি পটভূমি আঁকে। এই পদ্ধতিটি প্রধানত ডিবাগিং উদ্দেশ্যে ব্যবহৃত হয়। -
setEmojiSpanIndicatorColor()
: একটিEmojiSpan
নির্দেশ করতে রঙ সেট করে। ডিফল্ট মান হলGREEN
। -
registerInitCallback
:EmojiCompat
আরম্ভের অবস্থা সম্পর্কে অ্যাপকে অবহিত করে।
কোটলিন
val config = FontRequestEmojiCompatConfig(...) .setReplaceAll(true) .setEmojiSpanIndicatorEnabled(true) .setEmojiSpanIndicatorColor(Color.GREEN) .registerInitCallback(object: EmojiCompat.InitCallback() { ... })
জাভা
EmojiCompat.Config config = new FontRequestEmojiCompatConfig(...) .setReplaceAll(true) .setEmojiSpanIndicatorEnabled(true) .setEmojiSpanIndicatorColor(Color.GREEN) .registerInitCallback(new InitCallback() {...})
প্রারম্ভিক শ্রোতা যোগ করা হচ্ছে
EmojiCompat
এবং EmojiCompat
ক্লাস একটি ইনিশিয়ালাইজেশন কলব্যাক নিবন্ধন করতে registerInitCallback()
এবং unregisterInitCallback()
পদ্ধতি প্রদান করে। এই পদ্ধতিগুলি ব্যবহার করতে, EmojiCompat.InitCallback
ক্লাসের একটি উদাহরণ তৈরি করুন। এই পদ্ধতিগুলি কল করুন এবং EmojiCompat.InitCallback
ক্লাসের উদাহরণটি পাস করুন৷ যখন EmojiCompat
সমর্থন লাইব্রেরির আরম্ভ সফল হয়, তখন EmojiCompat
ক্লাস onInitialized()
পদ্ধতিটিকে কল করে। লাইব্রেরি আরম্ভ করতে ব্যর্থ হলে, EmojiCompat
ক্লাস onFailed()
পদ্ধতিতে কল করে।
যে কোনো সময়ে প্রারম্ভিক অবস্থা পরীক্ষা করতে, getLoadState()
পদ্ধতিতে কল করুন। এটি নিম্নলিখিত মানগুলির মধ্যে একটি প্রদান করে: LOAD_STATE_LOADING
, LOAD_STATE_SUCCEEDED
, বা LOAD_STATE_FAILED
।
AppCompat উইজেটগুলির সাথে EmojiCompat ব্যবহার করা
আপনি যদি AppCompat widgets
ব্যবহার করেন তবে আপনি EmojiCompat
উইজেটগুলি ব্যবহার করতে পারেন যা AppCompat widgets
থেকে প্রসারিত হয়৷
- নির্ভরতা বিভাগে সমর্থন লাইব্রেরি যোগ করুন।
গ্রোভি
dependencies { ... implementation "androidx.emoji:emoji-bundled:$version" }
কোটলিন
dependencies { implementation("androidx.emoji:emoji-appcompat:$version") }
গ্রোভি
dependencies { implementation "androidx.emoji:emoji-appcompat:$version" }
- লেআউট XML-এ
EmojiCompat
AppCompat Widget
উইজেট ব্যবহার করুন।<android.support.text.emoji.widget.EmojiAppCompatTextView android:layout_width="wrap_content" android:layout_height="wrap_content"/> <android.support.text.emoji.widget.EmojiAppCompatEditText android:layout_width="wrap_content" android:layout_height="wrap_content"/> <android.support.text.emoji.widget.EmojiAppCompatButton android:layout_width="wrap_content" android:layout_height="wrap_content"/>
বান্ডিল ফন্ট কনফিগারেশন
EmojiCompat
সমর্থন লাইব্রেরি একটি বান্ডিল ফন্ট সংস্করণে উপলব্ধ। এই প্যাকেজটিতে এমবেডেড মেটাডেটা সহ ফন্ট অন্তর্ভুক্ত রয়েছে। প্যাকেজটিতে একটিBundledEmojiCompatConfig
ও রয়েছে যা মেটাডেটা এবং ফন্ট লোড করতেAssetManager
ব্যবহার করে।দ্রষ্টব্য: ফন্টের আকার একাধিক মেগাবাইটে।
সমর্থন লাইব্রেরি নির্ভরতা যোগ করা হচ্ছে
বান্ডিল ফন্ট কনফিগারেশন সহ
EmojiCompat
সমর্থন লাইব্রেরি ব্যবহার করতে, আপনাকে অবশ্যই আপনার ডেভেলপমেন্ট এনভায়রনমেন্টের মধ্যে আপনার অ্যাপ প্রকল্পের ক্লাসপাথ নির্ভরতা পরিবর্তন করতে হবে।আপনার অ্যাপ্লিকেশন প্রকল্পে একটি সমর্থন লাইব্রেরি যোগ করতে:
- আপনার অ্যাপ্লিকেশনের
build.gradle
ফাইলটি খুলুন। -
dependencies
বিভাগে সমর্থন লাইব্রেরি যোগ করুন।
গ্রোভি
dependencies { ... implementation "androidx.emoji:emoji:28.0.0" }
কোটলিন
dependencies { ... implementation("androidx.emoji:emoji:28.0.0") }
EmojiCompat কনফিগার করতে বান্ডিল ফন্ট ব্যবহার করে
EmojiCompat
কনফিগার করতে বান্ডিল ফন্ট ব্যবহার করতে, নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন:-
EmojiCompat
এর একটি উদাহরণ তৈরি করতেBundledEmojiCompatConfig
ব্যবহার করুন এবংContext
একটি উদাহরণ প্রদান করুন। -
EmojiCompat
শুরু করতেinit()
পদ্ধতিতে কল করুন এবংBundledEmojiCompatConfig
এর উদাহরণ পাস করুন।
কোটলিন
class MyApplication : Application() { override fun onCreate() { super.onCreate() val config = BundledEmojiCompatConfig(this) EmojiCompat.init(config) } }
জাভা
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); EmojiCompat.Config config = new BundledEmojiCompatConfig(this); EmojiCompat.init(config); ... } }
উইজেট ছাড়া ইমোজিকম্প্যাট ব্যবহার করা
EmojiCompat
সঠিক ছবি রেন্ডার করতেEmojiSpan
ব্যবহার করে। তাই, এটিকে যে কোনো প্রদত্তCharSequence
EmojiSpans
এর সাথেSpanned
ইনস্ট্যান্সে রূপান্তর করতে হবে।EmojiCompat
ক্লাসEmojiSpans
সাহায্যেCharSequences
Spanned
ইনস্ট্যান্সে রূপান্তর করার একটি পদ্ধতি প্রদান করে। এই পদ্ধতিটি ব্যবহার করে, আপনি কাঁচা স্ট্রিংয়ের পরিবর্তে প্রক্রিয়াকৃত দৃষ্টান্তগুলিকে প্রক্রিয়া এবং ক্যাশে করতে পারেন, যা আপনার অ্যাপ্লিকেশনের কার্যকারিতা উন্নত করে।কোটলিন
val processed = EmojiCompat.get().process("neutral face \uD83D\uDE10")
জাভা
CharSequence processed = EmojiCompat.get().process("neutral face \uD83D\uDE10");
IME এর জন্য EmojiCompat ব্যবহার করা
EmojiCompat
সমর্থন লাইব্রেরি ব্যবহার করে, কীবোর্ডগুলি তারা যে অ্যাপ্লিকেশনটির সাথে ইন্টারঅ্যাক্ট করছে তার দ্বারা সমর্থিত ইমোজি রেন্ডার করতে পারে। IMEshasEmojiGlyph()
পদ্ধতি ব্যবহার করেEmojiCompat
ইমোজি রেন্ডার করতে সক্ষম কিনা তা পরীক্ষা করতে পারে। এই পদ্ধতিটি একটি ইমোজির একটিCharSequence
নেয় এবং যদিEmojiCompat
ইমোজি সনাক্ত করতে এবং রেন্ডার করতে পারে তবে তাtrue
হয়৷প্যালেটে কোন ইমোজি রেন্ডার করতে হবে তা নির্ধারণ করতে কীবোর্ডটি
EmojiCompat
সমর্থন লাইব্রেরির সংস্করণও পরীক্ষা করতে পারে যা অ্যাপটি সমর্থন করে। সংস্করণটি পরীক্ষা করার জন্য, উপলব্ধ থাকলে, কীবোর্ডকেEditorInfo.extras
বান্ডেলে নিম্নলিখিত কীগুলি বিদ্যমান কিনা তা পরীক্ষা করতে হবে:-
EDITOR_INFO_METAVERSION_KEY
-
EDITOR_INFO_REPLACE_ALL_KEY
বান্ডেলে কীটি বিদ্যমান থাকলে, মানটি অ্যাপটি ব্যবহার করে এমন ইমোজি মেটাডেটার সংস্করণ উপস্থাপন করে। এই কীটি বিদ্যমান না থাকলে, অ্যাপটি
EmojiCompat
ব্যবহার করছে না।যদি কীটি বিদ্যমান থাকে এবং
true
সেট করা থাকে, তাহলে এটি নির্দেশ করে যে অ্যাপটিSetReplaceAll()
পদ্ধতিতে কল করেছে।EmojiCompat
কনফিগারেশন সম্পর্কে আরও তথ্যের জন্য, কনফিগারেশন বিকল্প বিভাগটি পড়ুন।EditorInfo.extras
বান্ডেলে কীগুলি পাওয়ার পরে, কীবোর্ডhasEmojiGlyph()
পদ্ধতি ব্যবহার করতে পারে, যেখানেmetadataVersion
হলEDITOR_INFO_METAVERSION_KEY
এর মান, অ্যাপটি একটি নির্দিষ্ট ইমোজি রেন্ডার করতে পারে কিনা তা পরীক্ষা করতে।কাস্টম উইজেটগুলির সাথে ইমোজিকম্প্যাট ব্যবহার করা
আপনি সর্বদা আপনার অ্যাপে
CharSequence
প্রিপ্রসেস করার জন্যprocess()
পদ্ধতি ব্যবহার করতে পারেন এবং এটিকে যেকোন উইজেটে যোগ করতে পারেন যাSpanned
ইনস্ট্যান্স রেন্ডার করতে পারে; উদাহরণস্বরূপ,TextView
। এছাড়াও,EmojiCompat
আপনাকে ন্যূনতম প্রচেষ্টার সাথে ইমোজি সমর্থন সহ আপনার কাস্টম উইজেটগুলিকে সমৃদ্ধ করতে নিম্নলিখিত উইজেট সহায়ক ক্লাসগুলি সরবরাহ করে।- নমুনা টেক্সটভিউ
- নমুনা সম্পাদনা পাঠ্য
কোটলিন
class MyTextView(context: Context) : AppCompatTextView(context) { private val emojiTextViewHelper: EmojiTextViewHelper by lazy(LazyThreadSafetyMode.NONE) { EmojiTextViewHelper(this).apply { updateTransformationMethod() } } override fun setFilters(filters: Array<InputFilter>) { super.setFilters(emojiTextViewHelper.getFilters(filters)) } override fun setAllCaps(allCaps: Boolean) { super.setAllCaps(allCaps) emojiTextViewHelper.setAllCaps(allCaps) } }
জাভা
public class MyTextView extends AppCompatTextView { ... public MyTextView(Context context) { super(context); init(); } ... private void init() { getEmojiTextViewHelper().updateTransformationMethod(); } @Override public void setFilters(InputFilter[] filters) { super.setFilters(getEmojiTextViewHelper().getFilters(filters)); } @Override public void setAllCaps(boolean allCaps) { super.setAllCaps(allCaps); getEmojiTextViewHelper().setAllCaps(allCaps); } private EmojiTextViewHelper getEmojiTextViewHelper() { ... } }
কোটলিন
class MyEditText(context: Context) : AppCompatEditText(context) { private val emojiEditTextHelper: EmojiEditTextHelper by lazy(LazyThreadSafetyMode.NONE) { EmojiEditTextHelper(this).also { super.setKeyListener(it.getKeyListener(keyListener)) } } override fun setKeyListener(input: KeyListener?) { input?.also { super.setKeyListener(emojiEditTextHelper.getKeyListener(it)) } } override fun onCreateInputConnection(outAttrs: EditorInfo): InputConnection { val inputConnection: InputConnection = super.onCreateInputConnection(outAttrs) return emojiEditTextHelper.onCreateInputConnection( inputConnection, outAttrs ) as InputConnection } }
জাভা
public class MyEditText extends AppCompatEditText { ... public MyEditText(Context context) { super(context); init(); } ... private void init() { super.setKeyListener(getEmojiEditTextHelper().getKeyListener(getKeyListener())); } @Override public void setKeyListener(android.text.method.KeyListener keyListener) { super.setKeyListener(getEmojiEditTextHelper().getKeyListener(keyListener)); } @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection inputConnection = super.onCreateInputConnection(outAttrs); return getEmojiEditTextHelper().onCreateInputConnection(inputConnection, outAttrs); } private EmojiEditTextHelper getEmojiEditTextHelper() { ... } }
প্রায়শই জিজ্ঞাসিত প্রশ্ন
- আমি কিভাবে ফন্ট ডাউনলোড শুরু করব?
- আরম্ভ করতে কত সময় লাগে?
- EmojiCompat সমর্থন লাইব্রেরি কত মেমরি ব্যবহার করে?
- আমি একটি কাস্টম TextView জন্য EmojiCompat ব্যবহার করতে পারি?
- অ্যান্ড্রয়েড 4.4 (API লেভেল 19) বা তার নিচের ডিভাইসগুলিতে আমি লেআউট XML-এ উইজেট যোগ করলে কী হবে?
ইমোজি ফন্টগুলি প্রথম অনুরোধে ডাউনলোড করা হয়, যদি সেগুলি ডিভাইসে বিদ্যমান না থাকে। ডাউনলোডের সময়সূচী অ্যাপটিতে স্বচ্ছ।
ফন্টটি ডাউনলোড হওয়ার পরে,
EmojiCompat
শুরু করতে প্রায় 150 মিলিসেকেন্ড সময় লাগে।বর্তমানে, ইমোজি খুঁজে পাওয়ার জন্য ডেটা স্ট্রাকচার অ্যাপের মেমরিতে লোড করা হয়েছে এবং প্রায় 200KB ব্যবহার করে।
হ্যাঁ। EmojiCompat কাস্টম উইজেটগুলির জন্য সহায়ক ক্লাস প্রদান করে। একটি প্রদত্ত স্ট্রিং প্রিপ্রসেস করা এবং এটিকে
Spanned
এ রূপান্তর করাও সম্ভব। উইজেট হেল্পার ক্লাস সম্পর্কে আরও তথ্যের জন্য, কাস্টম উইজেটগুলির সাথে ইমোজিকম্প্যাট ব্যবহার করা বিভাগটি পড়ুন।আপনি Android 4.4 (API লেভেল 19) বা তার কম চলমান ডিভাইসগুলিকে সমর্থন করে এমন আপনার অ্যাপ্লিকেশনগুলিতে
EmojiCompat
সমর্থন লাইব্রেরি বা এর উইজেটগুলি অন্তর্ভুক্ত করতে পারেন৷ যাইহোক, যদি কোনো ডিভাইস এপিআই লেভেল 19-এর আগে অ্যান্ড্রয়েড সংস্করণে চলে, তাহলেEmojiCompat
এবং এর উইজেটগুলি "নো অপারেশন" অবস্থায় থাকে। এর মানে হলEmojiTextView
একটি নিয়মিতTextView
এর মত আচরণ করে।EmojiCompat
উদাহরণ; আপনিinit()
পদ্ধতিতে কল করলে এটি অবিলম্বে একটিLOAD_STATE_SUCCEEDED
অবস্থায় চলে যায়।অতিরিক্ত সম্পদ
EmojiCompat
লাইব্রেরি ব্যবহার করার বিষয়ে অতিরিক্ত তথ্যের জন্য, EmojiCompat দেখুন।এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2024-08-28 UTC-তে শেষবার আপডেট করা হয়েছে।
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"এতে আমার প্রয়োজনীয় তথ্য নেই" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"খুব জটিল / অনেক ধাপ" },{ "type": "thumb-down", "id": "outOfDate", "label":"পুরনো" },{ "type": "thumb-down", "id": "translationIssue", "label":"অনুবাদ সংক্রান্ত সমস্যা" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"নমুনা / কোড সংক্রান্ত সমস্যা" },{ "type": "thumb-down", "id": "otherDown", "label":"অন্যান্য" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"সহজে বোঝা যায়" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"আমার সমস্যার সমাধান হয়েছে" },{ "type": "thumb-up", "id": "otherUp", "label":"অন্যান্য" }] { "lastModified": "2024-08-28 UTC-তে শেষবার আপডেট করা হয়েছে।", "confidential": False } - লেআউট XML-এ