Skip to content

Commit 4e31c64

Browse files
SzasznikaJanosneworld
authored andcommitted
Span with given starting index. (#13)
1 parent 7ed3f1e commit 4e31c64

File tree

2 files changed

+27
-6
lines changed

2 files changed

+27
-6
lines changed

lib/src/main/java/lt/neworld/spanner/Spanner.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,18 @@ class Spanner(text: CharSequence?) : SpannableStringBuilder(text) {
126126
}
127127

128128
fun span(search: CharSequence, vararg spans: Span): Spanner {
129+
span(0, search, *spans)
130+
131+
return this
132+
}
133+
134+
fun span(startIndex: Int, search: CharSequence, vararg spans: Span): Spanner {
129135
if (TextUtils.isEmpty(search)) {
130136
setSpans(0, length, *spans)
131137
return this
132138
}
133139

134-
var lastPos: Int = -1
140+
var lastPos: Int = startIndex - 1
135141

136142
while (true) {
137143
lastPos = TextUtils.indexOf(this, search, lastPos + 1)

sample/src/main/java/lt/neworld/spanner/sample/SampleJavaActivity.java

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
package lt.neworld.spanner.sample;
22

3-
import android.graphics.BitmapFactory;
43
import android.graphics.BlurMaskFilter;
54
import android.graphics.Color;
65
import android.graphics.Typeface;
76
import android.graphics.drawable.Drawable;
87
import android.os.Bundle;
9-
import android.os.LocaleList;
108
import android.support.v7.app.AppCompatActivity;
119
import android.text.Spannable;
1210
import android.text.method.LinkMovementMethod;
@@ -15,13 +13,28 @@
1513
import android.widget.TextView;
1614
import android.widget.Toast;
1715

18-
import java.util.Locale;
19-
2016
import lt.neworld.spanner.SpanBuilder;
2117
import lt.neworld.spanner.Spanner;
2218
import lt.neworld.spanner.Spans;
2319

24-
import static lt.neworld.spanner.Spans.*;
20+
import static lt.neworld.spanner.Spans.background;
21+
import static lt.neworld.spanner.Spans.blur;
22+
import static lt.neworld.spanner.Spans.bold;
23+
import static lt.neworld.spanner.Spans.boldItalic;
24+
import static lt.neworld.spanner.Spans.click;
25+
import static lt.neworld.spanner.Spans.custom;
26+
import static lt.neworld.spanner.Spans.font;
27+
import static lt.neworld.spanner.Spans.foreground;
28+
import static lt.neworld.spanner.Spans.image;
29+
import static lt.neworld.spanner.Spans.italic;
30+
import static lt.neworld.spanner.Spans.quote;
31+
import static lt.neworld.spanner.Spans.scaleSize;
32+
import static lt.neworld.spanner.Spans.sizeDP;
33+
import static lt.neworld.spanner.Spans.strikeThrough;
34+
import static lt.neworld.spanner.Spans.subscript;
35+
import static lt.neworld.spanner.Spans.superscript;
36+
import static lt.neworld.spanner.Spans.underline;
37+
import static lt.neworld.spanner.Spans.url;
2538

2639
public class SampleJavaActivity extends AppCompatActivity {
2740

@@ -66,6 +79,8 @@ public void onClick(View view) {
6679
.append("The quick brown fox jumps over the lazy dog\n", bold(), foreground(0xFF904f1c), Spans.quote())
6780
.span("fox", foreground(Color.RED))
6881
.span("dog", foreground(Color.RED))
82+
.append("First occurrence, Second occurrence\n")
83+
.span(292,"occurrence",background(Color.GREEN))
6984
.append("Custom\n", custom(new CustomSpan()))
7085
.append("Click here\n", click(onClickListener))
7186
.append("http://www.android.com\n", url("http://www.android.com"))

0 commit comments

Comments
 (0)