Exemplo n.º 1
0
        private static void AppendProjectText(this SpannableStringBuilder spannable, ProjectSpan projectSpan)
        {
            /* HACK: This unbreakable space is needed because of a bug in
             * the way android handles ReplacementSpans. It makes sure that
             * all token boundaries can't be changed by the soft input once
             * they are set. */
            var start = spannable.Length();

            spannable.Append(unbreakableSpace);
            spannable.Append(projectSpan.ProjectName);
            if (!string.IsNullOrEmpty(projectSpan.TaskName))
            {
                spannable.Append($": {projectSpan.TaskName}");
            }
            spannable.Append(unbreakableSpace);
            var end = spannable.Length();

            var projectTokenSpan = new ProjectTokenSpan(
                projectSpan.ProjectId,
                projectSpan.ProjectName,
                projectSpan.ProjectColor,
                projectSpan.TaskId,
                projectSpan.TaskName
                );


            spannable.SetSpan(projectTokenSpan, start, end, SpanTypes.ExclusiveExclusive);
            spannable.SetSpan(new RelativeSizeSpan(spanSizeProportion), start, end, SpanTypes.ExclusiveExclusive);
        }
        private static void AppendProjectText(this SpannableStringBuilder mutableString, ProjectSpan projectSpan)
        {
            var start = mutableString.Length();

            mutableString.Append(projectSpan.ProjectName);
            var end = mutableString.Length();

            var projectTokenSpan = new ProjectTokenSpan(
                projectSpan.ProjectId,
                projectSpan.ProjectName,
                projectSpan.ProjectColor
                );

            mutableString.SetSpan(projectTokenSpan, start, end, SpanTypes.ExclusiveExclusive);
            mutableString.SetSpan(new RelativeSizeSpan(spanSizeProportion), start, end, SpanTypes.ExclusiveExclusive);
        }