package com.gueei.demos.markupDemo.viewModels; import java.util.ArrayList; import java.util.List; import android.graphics.Color; import android.text.style.BackgroundColorSpan; import android.text.style.ForegroundColorSpan; import android.text.style.StrikethroughSpan; import android.text.style.UnderlineSpan; import android.view.View; import gueei.binding.Command; import gueei.binding.collections.ArrayListObservable; import gueei.binding.observables.SpanObservable.Span; import gueei.binding.observables.StringObservable; import gueei.binding.observables.SpanObservable; import gueei.binding.converters.HIGHLIGHT_SPAN.SpanListCreatorCommand; public class TextViewSpan { public final StringObservable SimpleText = new StringObservable("a simple text"); public final SpanObservable SimpleSpan = new SpanObservable(new BackgroundColorSpan(Color.RED), 2, 8); public final StringObservable ListText = new StringObservable("a text with a span list"); public final ArrayListObservable<Span> ListSpan = new ArrayListObservable<SpanObservable.Span>(Span.class); public final StringObservable HighLight = new StringObservable("a test text to text highlighting"); public final StringObservable TextToHighLight = new StringObservable("text"); public TextViewSpan() { Span s; ListSpan.clear(); s = new Span(new BackgroundColorSpan(Color.GREEN), 1, 3); ListSpan.add(s); s = new Span(new StrikethroughSpan(), 10, 20); ListSpan.add(s); s = new Span(new BackgroundColorSpan(Color.RED), 4, 5); ListSpan.add(s); s = new Span(new BackgroundColorSpan(Color.YELLOW), 6, 8); ListSpan.add(s); } public final SpanListCreatorCommand OnCreateHighlightSpanList = new SpanListCreatorCommand() { @Override public List<Span> onCreateSpanList(int occurence) { ArrayList<Span> list = new ArrayList<Span>(); Span s = new Span(new BackgroundColorSpan(Color.YELLOW)); list.add(s); s = new Span(new UnderlineSpan()); list.add(s); s = new Span(new ForegroundColorSpan(Color.BLUE)); list.add(s); return list; } }; public final Command OnChangeSpans = new Command(){ public void Invoke(View view, Object... args) { SimpleText.set("a SIMPLE text"); SimpleSpan.set(new Span(new BackgroundColorSpan(Color.BLUE), 2, 8)); ListSpan.add(new Span(new BackgroundColorSpan(Color.BLUE), 10, 20)); HighLight.set("this is a very new text to show text highlighting in all texts"); } }; }