public override void OnCreate() { base.OnCreate(); EmojiCompat.Config config; if (UseBundledEmoji) { // Use the bundled font for EmojiCompat config = new BundledEmojiCompatConfig(this); } else { // Use a downloadable font for EmojiCompat var fontRequest = new FontRequest( "com.google.android.gms.fonts", "com.google.android.gms", "Noto Color Emoji Compat", Resource.Array.com_google_android_gms_fonts_certs); config = new FontRequestEmojiCompatConfig(this, fontRequest) .SetReplaceAll(true) .RegisterInitCallback(new InitCallbackImpl()); } EmojiCompat.Init(config); }
/// <summary> /// 设置 <see cref="TextView.Hint"/>,字符串中可能有 emoji 字符 /// <para>https://developer.android.google.cn/reference/android/widget/TextView#setHint(java.lang.CharSequence)</para> /// </summary> /// <param name="maybeEmojiStr">可能有 emoji 字符的字符串</param> public static void SetHintByMaybeEmoji(this TextView textView, string maybeEmojiStr) { // https://developer.android.google.cn/guide/topics/ui/look-and-feel/emoji-compat#using-emojicompat-without-widgets var processed = EmojiCompat.Get().ProcessFormatted(maybeEmojiStr.ToJavaString()); textView.HintFormatted = processed; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); Localise.SetLayoutDirectionByPreference(this); SetContentView(Resource.Layout.FirstDebriefActivity); SupportActionBar.Title = StringResources.debriefing_activity_title; var emojiTextView = (EmojiAppCompatTextView)FindViewById(Resource.Id.emoji_text_view); emojiTextView.Text = EmojiCompat.Get().Process("\uD83C\uDF89"); FindViewById <TextView>(Resource.Id.CongratsTitle).Text = StringResources.debriefing_congrats_title; FindViewById <TextView>(Resource.Id.CongratsBody).Text = string.Format( StringResources.debriefing_congrats_body, GabberPCL.Config.PRINT_URL); FindViewById <TextView>(Resource.Id.ConsentTitle).Text = StringResources.debriefing_consent_title; FindViewById <TextView>(Resource.Id.ConsentBody1).Text = StringResources.debriefing_consent_body1; FindViewById <TextView>(Resource.Id.ConsentBody2).Text = StringResources.debriefing_consent_body2; FindViewById <TextView>(Resource.Id.ConsentBody3).Text = StringResources.debriefing_consent_body3; AppCompatButton finishButton = FindViewById <AppCompatButton>(Resource.Id.finishButton); finishButton.Text = StringResources.debriefing_finish_button; finishButton.Click += FinishButton_Click; }
public override void OnCreate() { //var _emojiService = Mvx.Resolve<IEmojiToWebApiService>(); // If OnCreate is overridden, the overridden c'tor will also be called. SL.Manager = new SLManager(new RestService(/*_emojiToWebApiService*/), Platform.LocalDataBasePath); EmojiCompat.Config config; config = new BundledEmojiCompatConfig(this); EmojiCompat.Init(config); Firebase.FirebaseApp.InitializeApp(this); base.OnCreate(); }
/// <summary> /// 初始化 Emoji 库 /// </summary> /// <param name="context"></param> /// <param name="emojiFontType"></param> public static void Init(Context context, EmojiFontType emojiFontType = EmojiFontType.Twemoji) { var config = emojiFontType switch { EmojiFontType.NotoColorEmoji => Create("fonts/NotoColorEmojiCompat.ttf"), EmojiFontType.Blobmoji => Create("fonts/BlobmojiCompat.ttf").SetReplaceAll(true), EmojiFontType.Twemoji => Create("fonts/TwemojiCompat.ttf").SetReplaceAll(true), EmojiFontType.EmojiOne => Create("fonts/emojione-android.ttf").SetReplaceAll(true), _ => throw new ArgumentOutOfRangeException(nameof(emojiFontType), emojiFontType, null), }; CurrentFontType = emojiFontType; EmojiCompat.Init(config); EmojiCompat.Config Create(string assetName) => new EmojiCompatLibraryConfig(context, assetName); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.main); SupportActionBar.Title = StringResources.projects_ui_title; EmojiCompat.Init(new BundledEmojiCompatConfig(this)); // Create the active user anytime they reopen app if (Session.ActiveUser == null) { var preferences = PreferenceManager.GetDefaultSharedPreferences(ApplicationContext); var user = Queries.UserByEmail(preferences.GetString("username", "")); var tokens = JsonConvert.DeserializeObject <JWToken>(preferences.GetString("tokens", "")); Queries.SetActiveUser(new DataUserTokens { User = user, Tokens = tokens }); FireBaseAnalytics.SetUserId(Session.ActiveUser.Id.ToString()); Session.ActiveUser.AppLang = user.AppLang; } SendFCMToken(); prefsFragment = new PrefsFragment(); sessionsFragment = new UploadsFragment(); projectsFragment = new ProjectsFragment(); activeFragment = projectsFragment; SupportFragmentManager.BeginTransaction().Add(Resource.Id.content_frame, prefsFragment, "settings").Hide(prefsFragment).Commit(); SupportFragmentManager.BeginTransaction().Add(Resource.Id.content_frame, sessionsFragment, "sessions").Hide(sessionsFragment).Commit(); SupportFragmentManager.BeginTransaction().Add(Resource.Id.content_frame, projectsFragment, "projects").Commit(); var suppressAsync = GetLangData(); LoadUploadFragmentAfterSession(); SupportActionBar.Title = StringResources.login_ui_title; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.activity_main); // TextView variant provided by EmojiCompat library var emojiTextView = (TextView)FindViewById(Resource.Id.emoji_text_view); emojiTextView.Text = GetString(Resource.String.emoji_text_view, Emoji); // EditText variant provided by EmojiCompat library var emojiEditText = (TextView)FindViewById(Resource.Id.emoji_edit_text); emojiEditText.Text = GetString(Resource.String.emoji_edit_text, Emoji); // Button variant provided by EmojiCompat library var emojiButton = (TextView)FindViewById(Resource.Id.emoji_button); emojiButton.Text = GetString(Resource.String.emoji_button, Emoji); // Regular TextView without EmojiCompat support; you have to manually process the text var regularTextView = (TextView)FindViewById(Resource.Id.regular_text_view); var textToShow = GetString(Resource.String.regular_text_view, Emoji); EmojiCompat.Get().RegisterInitCallback(new InitCallbackImpl { RegularTextView = regularTextView, Text = textToShow }); // Custom TextView var customTextView = (TextView)FindViewById(Resource.Id.emoji_custom_text_view); customTextView.Text = GetString(Resource.String.custom_text_view, Emoji); }
public override void OnInitialized() { RegularTextView.TextFormatted = EmojiCompat.Get().ProcessFormatted(new Java.Lang.String(Text)); }