refer to myHolyBible.apk
SpannableString ss = new SpannableString(bodyText);
ss.setSpan(new keywordSpan(keywords[i], keywordV[i]), keywordF[i], keywordT[i], Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new ForegroundColorSpan(verseColorFore), verseF[i], verseT[i], Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new StyleSpan(BOLD), verseF[i], verseT[i], Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new ForegroundColorSpan(paraColorFore), paraF[i], paraT[i], Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new UnderlineSpan(), paraF[i], paraT[i], Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new StyleSpan(BOLD), paraF[i], paraT[i], Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new crossSpan(crossS[i], crossV[i]), crossF[i], crossT[i], Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
public class keywordSpan extends ClickableSpan {
String key;
int verse;
keywordSpan(String key, int verse) { this.key = key; this.verse = verse;}
Typeface boldface = Typeface.create(Typeface.DEFAULT, BOLD);
Float dicTextSize = textSizeKeyWord * 2.6f;
@Override
public void updateDrawState(@NonNull TextPaint ds) {
ds.setColor(dictColorFore);
ds.setTypeface(boldface);
ds.setTextSize(dicTextSize);
}
@Override
public void onClick(@NonNull View widget) {
dictWord = key;
nowVerse = verse;
makeKeyWord();
}
}
public class crossSpan extends ClickableSpan {
String key;
int verse;
crossSpan(String key, int verse) { this.key = key; this.verse = verse;}
@Override
public void updateDrawState(@NonNull TextPaint ds) {
ds.setColor(referColorFore);
ds.setTextSize(textSizeBibleRefer+textSizeBibleRefer); // double size
ds.setUnderlineText(false); // this remove the underline
}
@Override
public void onClick(@NonNull View widget) {
dictWord = key;
nowVerse = verse;
makeCrossing();
}
}
'android source ' 카테고리의 다른 글
readyPackageFolder(), 특정 폴더 만들기 (0) | 2019.07.23 |
---|---|
getDirectoryFiltered() (0) | 2019.07.23 |
backPressed() (0) | 2019.07.23 |
public directory 가져오기 (0) | 2019.07.23 |
webView, file url link (0) | 2019.07.23 |