Exemple #1
0
        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;
        }
Exemple #3
0
        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;
        }
Exemple #4
0
        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);
        }
Exemple #6
0
        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));
 }