下面列出了android.text.SpannableString#toString ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public CharSequence getComment(String repliesToPost) {
SpannableString comment = new SpannableString(getComment());
LinkSpan[] spans = comment.getSpans(0, comment.length(), LinkSpan.class);
if (spans != null) {
String commentString = comment.toString();
repliesToPost = ">>" + repliesToPost;
for (LinkSpan linkSpan : spans) {
int start = comment.getSpanStart(linkSpan);
if (commentString.indexOf(repliesToPost, start) == start) {
int end = comment.getSpanEnd(linkSpan);
comment.setSpan(new StyleSpan(Typeface.BOLD), start, end, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
return comment;
}
private PostParam getPostParam() {
Intent intent = getIntent();
String tid = intent.getStringExtra(ParamKey.KEY_TID);
int fid = intent.getIntExtra(ParamKey.KEY_FID, -7);
String title = intent.getStringExtra("title");
String pid = intent.getStringExtra(ParamKey.KEY_PID);
String action = intent.getStringExtra(ParamKey.KEY_ACTION);
String prefix = intent.getStringExtra("prefix");
if (prefix != null && prefix.startsWith("[quote][pid=") && prefix.endsWith("[/quote]\n")) {
SpannableString spanString = new SpannableString(prefix);
spanString.setSpan(new BackgroundColorSpan(-1513240), 0, prefix.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spanString.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), prefix.indexOf("[b]Post by"), prefix.indexOf("):[/b]") + 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
prefix = spanString.toString();
}
PostParam act = new PostParam(tid, "", "");
act.setPostAction(action);
act.setPostFid(fid);
act.setPostPid(pid);
act.setPostContent(prefix);
act.setPostSubject(title);
return act;
}
public static void setGray(SpannableString ss, List<String> items) {
String data = ss.toString();
for (String item : items) {
int i = data.indexOf("@" + item);
if (i != -1) {
ss.setSpan(new ForegroundColorSpan(Color.GRAY), i,
i + 1 + item.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
int j = data.indexOf("+" + item);
if (j != -1) {
ss.setSpan(new ForegroundColorSpan(Color.GRAY), j,
j + 1 + item.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
public static SpannableString highlightParamTextBetweenTwoString(SpannableString spanString, String beforeHighlight, String afterHighlight, int color) {
String inputString = spanString.toString();
if (!TextUtils.isEmpty(inputString)) {
int beginPos = inputString.indexOf(beforeHighlight) + beforeHighlight.length();
if (beginPos > -1) {
int endPos = inputString.indexOf(afterHighlight);
if (endPos > -1 && beginPos < endPos) {
spanString.setSpan(new ForegroundColorSpan(color), beginPos, endPos, 33);
}
}
}
return spanString;
}
@Override
public Spannable apply(final int holder, final Context context) {
final Spannable spanned = apply(null);
final Currency currency = amountFormatter.currencyFormatter.currency;
final Character decimalSeparator = currency.getDecimalSeparator();
final SpannableString spannableString = new SpannableString(TextUtil.format(context, holder, spanned));
final String totalText = spannableString.toString();
return makeSmallAfterSeparator(decimalSeparator, totalText);
}
public static String nanoStatus(final String module) {
final SpannableString result = nanoStatusColor(module);
return result != null ? result.toString() : null;
}
public static String nanoStatus(final String module) {
final SpannableString result = nanoStatusColor(module);
return result != null ? result.toString() : null;
}
public static String nanoStatus(final String module) {
final SpannableString result = nanoStatusColor(module);
return result != null ? result.toString() : null;
}
public static String nanoStatus(final String module) {
final SpannableString result = nanoStatusColor(module);
return result != null ? result.toString() : null;
}