コード例 #1
0
        static int n_GetSpanFlags_Ljava_lang_Object_(IntPtr jnienv, IntPtr native__this, IntPtr native_what)
        {
            Android.Text.SpannableString __this = global::Java.Lang.Object.GetObject <Android.Text.SpannableString> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            Java.Lang.Object             what   = global::Java.Lang.Object.GetObject <Java.Lang.Object> (native_what, JniHandleOwnership.DoNotTransfer);
            int __ret = (int)__this.GetSpanFlags(what);

            return(__ret);
        }
コード例 #2
0
        void RenderChildSpannableStyle(Android.Text.SpannableString text, SpannableStringStyle parentStyle)
        {
            foreach (var style in parentStyle.Children)
            {
                style.RenderSpannableStringStyle(text);

                if (style.Children.Count > 0)
                {
                    RenderChildSpannableStyle(text, style);
                }
            }
        }
コード例 #3
0
        //public override ICharSequence GetPageTitleFormatted(int position)
        //{
        //    return new Java.Lang.String(FragmentNames[position]);
        //}

        public override Java.Lang.ICharSequence GetPageTitleFormatted(int position)
        {
            var image = Application.Context.Resources.GetDrawable(FragmentIcon[position]);

            image.SetBounds(0, 0, image.IntrinsicWidth, image.IntrinsicHeight);

            var spannableString = new Android.Text.SpannableString("[icon]");
            var imageSpan       = new Android.Text.Style.ImageSpan(image, Android.Text.Style.SpanAlign.Bottom);

            spannableString.SetSpan(imageSpan, 0, 1, Android.Text.SpanTypes.ExclusiveExclusive);
            return(spannableString);
        }
コード例 #4
0
ファイル: MainActivity.cs プロジェクト: DreamCatcher-SM/Demo
        public override ICharSequence GetPageTitleFormatted(int position)
        {
            // ICharSequence CS = new Java.Lang.String("");


            Drawable image = Android.Support.V4.Content.ContextCompat.GetDrawable(MainActivity.MyActitvity, tabIcons[position]);

            image.SetBounds(0, 0, image.IntrinsicWidth, image.IntrinsicHeight);
            // Replace blank spaces with image icon
            Android.Text.SpannableString sb        = new Android.Text.SpannableString("   " + tabTitles[position]);
            Android.Text.Style.ImageSpan imageSpan = new Android.Text.Style.ImageSpan(image, Android.Text.Style.SpanAlign.Bottom);
            sb.SetSpan(imageSpan, 0, 1, Android.Text.SpanTypes.ExclusiveExclusive);


            return(sb);
        }
コード例 #5
0
        void RenderSpannableText()
        {
            if (View.ParsedText == null)
            {
                return;
            }

            var spannableText = new Android.Text.SpannableString(View.Text);

            foreach (var spannableStyle in View.ParsedText)
            {
                spannableStyle.RenderSpannableStringStyle(spannableText);

                if (spannableStyle.Children.Count > 0)
                {
                    RenderChildSpannableStyle(spannableText, spannableStyle);
                }
            }

            SetText(spannableText, BufferType.Spannable);
            View.LineHeightChanged.Raise();
        }
コード例 #6
0
        internal static void RenderSpannableStringStyle(this SpannableStringStyle style, Android.Text.SpannableString text)
        {
            switch (style.Type)
            {
            case SpannableStringTypes.B:
            case SpannableStringTypes.Bold:
                text.SetSpan(new Android.Text.Style.StyleSpan(TypefaceStyle.Bold), style.Range.Start, style.Range.End, Android.Text.SpanTypes.ExclusiveExclusive);
                break;

            case SpannableStringTypes.I:
            case SpannableStringTypes.Italic:
                text.SetSpan(new Android.Text.Style.StyleSpan(TypefaceStyle.Italic), style.Range.Start, style.Range.End, Android.Text.SpanTypes.ExclusiveExclusive);
                break;

            case SpannableStringTypes.Font:
                foreach (var parameter in style.Parameters)
                {
                    switch (parameter.Key)
                    {
                    case SpannableStringParameterTypes.Size:
                        if (float.TryParse(parameter.Value, out float fontSize))
                        {
                            text.SetSpan(new Android.Text.Style.AbsoluteSizeSpan(Device.Scale.ToDevice(fontSize), true),
                                         style.Range.Start, style.Range.End, Android.Text.SpanTypes.ExclusiveExclusive);
                        }

                        break;

                    case SpannableStringParameterTypes.Color:
                        text.SetSpan(new Android.Text.Style.ForegroundColorSpan(Zebble.Color.Parse(parameter.Value).Render()),
                                     style.Range.Start, style.Range.End, Android.Text.SpanTypes.ExclusiveExclusive);
                        break;

                    case SpannableStringParameterTypes.Face:
                        // TODO implement font faces.
                        break;

                    default: break;
                    }
                }

                break;

            default: break;
            }
        }