项目:SciChart.Android.Examples
文件:CustomTooltipsWithModifiersFragment.java
@Override
protected void internalUpdate(XySeriesInfo seriesInfo) {
final SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append("X: ").append(seriesInfo.getFormattedXValue()).append(StringUtil.NEW_LINE);
sb.append("Y: ").append(seriesInfo.getFormattedYValue()).append(StringUtil.NEW_LINE);
if (seriesInfo.seriesName != null) {
final int start = sb.length();
sb.append(seriesInfo.seriesName);
sb.setSpan(new ForegroundColorSpan(ColorUtil.White),start,sb.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.append(StringUtil.NEW_LINE);
}
sb.append(modifierName);
setText(sb);
// stroke 0xff4d81dd
setSeriesColor(0xff6495ed);
}
项目:q-mail
文件:NotificationContentCreator.java
private CharSequence getMessagePreview(LocalMessage message) {
String subject = message.getSubject();
String snippet = getPreview(message);
boolean isSubjectEmpty = TextUtils.isEmpty(subject);
boolean isSnippetPresent = snippet != null;
if (isSubjectEmpty && isSnippetPresent) {
return snippet;
}
String displaySubject = getMessageSubject(message);
SpannableStringBuilder preview = new SpannableStringBuilder();
preview.append(displaySubject);
if (isSnippetPresent) {
preview.append('\n');
preview.append(snippet);
}
return preview;
}
项目:mongol-library
文件:MongolTextView.java
public MongolTextView(Context context,AttributeSet attrs,int defStyleAttr) {
super(context,attrs,defStyleAttr);
TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.MongolTextView,defStyleAttr,0);
boolean isEditText = getDefaultEditable();
String text = a.getString(R.styleable.MongolTextView_text);
if (text == null) text = "";
if (isEditText) {
SpannableStringBuilder ssb = new SpannableStringBuilder(text);
mTextStorage = new MongolTextStorage(ssb);
} else {
mTextStorage = new MongolTextStorage(text);
}
mTextSizePx = a.getDimensionPixelSize(R.styleable.MongolTextView_textSize,0);
mTextColor = a.getColor(R.styleable.MongolTextView_textColor,Color.BLACK);
mGravity = a.getInteger(R.styleable.MongolTextView_gravity,Gravity.TOP);
a.recycle();
mContext = context;
init();
}
项目:Cable-Android
文件:SingleRecipientNotificationBuilder.java
public void setPrimaryMessageBody(@NonNull Recipients threadRecipients,@NonNull Recipient individualRecipient,@NonNull CharSequence message,@Nullable SlideDeck slideDeck)
{
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
if (privacy.isdisplayContact() && (threadRecipients.isGroupRecipient() || !threadRecipients.isSingleRecipient())) {
stringBuilder.append(Util.getBoldedString(individualRecipient.toShortString() + ": "));
}
if (privacy.isdisplayMessage()) {
setContentText(stringBuilder.append(message));
this.slideDeck = slideDeck;
} else {
setContentText(stringBuilder.append(context.getString(R.string.SingleRecipientNotificationBuilder_new_message)));
}
}
项目:SDHtmlTextView
文件:ImageHandler.java
@Override
public void handleTagNode(TagNode node,SpannableStringBuilder builder,int start,int end,SpanStack stack) {
String src = node.getAttributeByName("src");
builder.append("\uFFFC");
Bitmap bitmap = loadBitmap(src);
if (bitmap != null) {
Drawable drawable = new BitmapDrawable(bitmap);
drawable.setBounds(0,bitmap.getWidth() - 1,bitmap.getHeight() - 1);
stack.pushSpan( new ImageSpan(drawable),builder.length() );
}
}
项目:LiveGiftLayout
文件:ExpressionUtil.java
public void setView(Context mContext,final View view,String content) {
if (view != null && view instanceof ImageView) {//图片不显示GIF
Bitmap bitmap = null;
try {
bitmap = BitmapFactory.decodeStream(mContext.getAssets().open(content));
} catch (IOException e1) {
e1.printstacktrace();
}
((ImageView) view).setimageBitmap(bitmap);
} else if (view != null && view instanceof TextView) {//文字可显示GIF
TextView gifTextView = (TextView) view;
String tempText = "[" + content + "]";
SpannableStringBuilder sb = prase(mContext,gifTextView,tempText);
gifTextView.setText(sb);
}
}
项目:Nird2
文件:UiUtils.java
public static SpannableStringBuilder getTeaser(Context ctx,Spanned body) {
if (body.length() < TEASER_LENGTH)
throw new IllegalArgumentException(
"String is shorter than TEASER_LENGTH");
SpannableStringBuilder builder =
new SpannableStringBuilder(body.subSequence(0,TEASER_LENGTH));
String ellipsis = ctx.getString(R.string.ellipsis);
builder.append(ellipsis).append(" ");
Spannable readMore = new SpannableString(
ctx.getString(R.string.read_more) + ellipsis);
ForegroundColorSpan fg = new ForegroundColorSpan(
ContextCompat.getColor(ctx,R.color.briar_text_link));
readMore.setSpan(fg,readMore.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(readMore);
return builder;
}
项目:RLibrary
文件:RExTextView.java
/**
* 匹配 电话号码
*/
protected void patternPhone(SpannableStringBuilder builder,CharSequence input) {
Matcher matcher = patternPhone.matcher(input);
while (matcher.find()) {
int start = matcher.start();
int end = matcher.end();
if (!isInOtherSpan(builder,input.length(),end)) {
builder.setSpan(new ImageTextSpan(getContext(),ImageTextSpan.initDrawable(getTextSize()),matcher.group(),matcher.group())
.setonImageSpanClick(mOnImageSpanClick)
.setTextColor(mImageSpanTextColor),end,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
}
项目:PSNine
文件:JellyBeanSpanFixTextView.java
/**
* Add spaces around spans until the text is fixed,and then removes the unneeded spaces
*/
private void fixSpannedWithSpaces(SpannableStringBuilder builder,int widthMeasureSpec,int heightMeasureSpec) {
long startFix = System.currentTimeMillis();
FixingResult result = addspacesAroundSpansUntilFixed(builder,widthMeasureSpec,heightMeasureSpec);
if (result.fixed) {
removeUnneededspaces(widthMeasureSpec,heightMeasureSpec,builder,result);
} else {
fallbackToString(widthMeasureSpec,heightMeasureSpec);
}
if (HtmlTextView.DEBUG) {
long fixDuration = System.currentTimeMillis() - startFix;
Log.d(HtmlTextView.TAG,"fixSpannedWithSpaces() duration in ms: " + fixDuration);
}
}
项目:RLibrary
文件:RExTextView.java
@Override
public void setText(CharSequence text,BufferType type) {
if (isInEditMode()) {
super.setText(text,type);
return;
}
if (TextUtils.isEmpty(text)) {
super.setText(text,type);
} else {
SpannableStringBuilder spanBuilder = new SpannableStringBuilder(text);
if (needPatternUrl) {
patternUrl(spanBuilder,text);//优先匹配
}
if (needPatternMention) {
patternMention(spanBuilder,text);
}
if (needPatternPhone) {
patternPhone(spanBuilder,text);
}
afterPattern(spanBuilder,text);
super.setText(spanBuilder,type);
}
}
项目:FastTextView
文件:EllipseFragment.java
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
if (mRootView != null) {
return mRootView;
}
mRootView = inflater.inflate(R.layout.ellipse_demo,container,false);
SpannableStringBuilder spannableStringBuilder = getSpannable();
FastTextView fastTextView = (FastTextView) mRootView.findViewById(R.id.fast_tv2);
fastTextView.setText(spannableStringBuilder);
// fastTextView.setCustomEllipsisspan(new ImageSpan(drawable));
TextView tv = (TextView) mRootView.findViewById(R.id.system_tv);
tv.setText(spannableStringBuilder);
// tv.setMovementMethod(LinkMovementMethod.getInstance());
return mRootView;
}
项目:okwallet
文件:RequestCoinsFragment.java
private void updateView() {
if (!isResumed())
return;
final String bitcoinRequest = determineBitcoinRequestStr(true);
final byte[] paymentRequest = determinePaymentRequest(true);
// update qr-code
qrCodeBitmap = new BitmapDrawable(getResources(),Qr.bitmap(bitcoinRequest));
qrCodeBitmap.setFilterBitmap(false);
qrView.setimageDrawable(qrCodeBitmap);
// update initiate request message
final SpannableStringBuilder initiateText = new SpannableStringBuilder(
getString(R.string.request_coins_fragment_initiate_request_qr));
if (nfcAdapter != null && nfcAdapter.isEnabled())
initiateText.append(' ').append(getString(R.string.request_coins_fragment_initiate_request_nfc));
initiateRequestView.setText(initiateText);
// focus linking
final int activeAmountViewId = amountCalculatorLink.activeTextView().getId();
acceptBluetoothPaymentView.setNextFocusUpId(activeAmountViewId);
paymentRequestRef.set(paymentRequest);
}
项目:ShangHanLun
文件:ATableViewAdapter.java
@Override
public void configurePinnedHeader(View headerView,int position,int alpaha) {
// Todo Auto-generated method stub
TextView label = (TextView) headerView.findViewById(R.id.textLabel);
NSIndexPath ip = getIndexPath(position);
curSection = ip.getSection();
String t = mTableView.getDataSource().titleForHeaderInSection(
mTableView,curSection);
if (t != null) {
label.setText(t);
} else {
SpannableStringBuilder buider = mTableView.getDataSource()
.spannerbleTitleForHeaderInSection(mTableView,curSection);
label.setText(buider);
}
// huanghai
label.setTextColor(Color.BLACK);
label.setGravity(Gravity.CENTER_VERTICAL);
}
public SpannableStringBuilder getColoredChattingRecord(String filterStr,MessageContent messageContent) {
SpannableStringBuilder messageText = new SpannableStringBuilder();
if (messageContent instanceof TextMessage) {
TextMessage textMessage = (TextMessage) messageContent;
String textMessageContent = textMessage.getContent();
messageText = getomitColored(filterStr,textMessageContent,0);
}
if (messageContent instanceof RichContentMessage) {
RichContentMessage richContentMessage = (RichContentMessage) messageContent;
String messageTitle = richContentMessage.getTitle();
messageText = getomitColored(filterStr,messageTitle,1);
if (messageText.length() == 0) {
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder("[链接] ");
spannableStringBuilder.append(messageTitle);
messageText = spannableStringBuilder;
}
}
if (messageContent instanceof FileMessage) {
FileMessage fileMessage = (FileMessage) messageContent;
String fileName = fileMessage.getName();
messageText = getomitColored(filterStr,fileName,2);
}
return messageText;
}
项目:SciChart.Android.Examples
文件:CustomTooltipsWithModifiersFragment.java
@Override
protected void internalUpdate(XySeriesInfo seriesInfo) {
final SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append(modifierName).append(StringUtil.NEW_LINE);
if (seriesInfo.seriesName != null) {
sb.append(seriesInfo.seriesName);
sb.setSpan(new ForegroundColorSpan(ColorUtil.Black),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
sb.append(StringUtil.NEW_LINE);
}
sb.append("X: ").append(seriesInfo.getFormattedXValue());
sb.append(" Y: ").append(seriesInfo.getFormattedYValue());
setText(sb);
// stroke 0xffff4500
setSeriesColor(0xffe2460c);
}
项目:lex
文件:LexList.java
@NonNull
private CharSequence makeThreeOrMoreItems() {
if (separator == null) {
throw new LexNoSeparatorException();
}
SpannableStringBuilder sb = new SpannableStringBuilder(getWrappedItem(0));
for (int i = 1; i < items.length; i++) {
if (i == items.length - 1 && lastItemSeparator != null) {
sb.append(lastItemSeparator);
} else {
sb.append(separator);
}
sb.append(getWrappedItem(i));
}
return sb;
}
项目:Phoenix-for-VK
文件:PreferencesFragment.java
private void disableOnlyFullAppPrefs() {
String fullOnly = " FULL ONLY ";
int color = Utils.adjustAlpha(CurrentTheme.getColorAccent(getActivity()),100);
for (String name : AppPrefs.ONLY_FULL_APP_PREFS) {
Preference preference = findPreference(name);
if (preference != null) {
preference.setEnabled(false);
CharSequence summary = TextUtils.isEmpty(preference.getTitle()) ? "" : preference.getTitle();
summary = fullOnly + " " + summary;
Spannable spannable = SpannableStringBuilder.valueOf(summary);
BackgroundColorSpan span = new BackgroundColorSpan(color);
ForegroundColorSpan span1 = new ForegroundColorSpan(Color.WHITE);
spannable.setSpan(span,fullOnly.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span1,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
preference.setTitle(spannable);
}
}
}
项目:PeSanKita-android
文件:SingleRecipientNotificationBuilder.java
public void setPrimaryMessageBody(@NonNull Recipients threadRecipients,@Nullable SlideDeck slideDeck)
{
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
if (privacy.isdisplayContact() && (threadRecipients.isGroupRecipient() || !threadRecipients.isSingleRecipient())) {
stringBuilder.append(Util.getBoldedString(individualRecipient.toShortString() + ": "));
}
if (privacy.isdisplayMessage()) {
setContentText(stringBuilder.append(message));
this.slideDeck = slideDeck;
} else {
setContentText(stringBuilder.append(context.getString(R.string.SingleRecipientNotificationBuilder_new_message)));
}
}
项目:PeSanKita-android
文件:SingleRecipientNotificationBuilder.java
public void addMessageBody(@NonNull Recipients threadRecipients,@NonNull Recipient individualRecipient,@Nullable CharSequence messageBody)
{
SpannableStringBuilder stringBuilder = new SpannableStringBuilder();
if (privacy.isdisplayContact() && (threadRecipients.isGroupRecipient() || !threadRecipients.isSingleRecipient())) {
stringBuilder.append(Util.getBoldedString(individualRecipient.toShortString() + ": "));
}
if (privacy.isdisplayMessage()) {
messageBodies.add(stringBuilder.append(messageBody == null ? "" : messageBody));
} else {
messageBodies.add(stringBuilder.append(context.getString(R.string.SingleRecipientNotificationBuilder_new_message)));
}
}
项目:PeSanKita-android
文件:ComposeText.java
public void setHint(@NonNull String hint,@Nullable CharSequence subHint) {
this.hint = new SpannableString(hint);
this.hint.setSpan(new RelativeSizeSpan(0.8f),hint.length(),Spannable.SPAN_INCLUSIVE_INCLUSIVE);
if (subHint != null) {
this.subHint = new SpannableString(subHint);
this.subHint.setSpan(new RelativeSizeSpan(0.8f),subHint.length(),Spannable.SPAN_INCLUSIVE_INCLUSIVE);
} else {
this.subHint = null;
}
if (this.subHint != null) {
super.setHint(new SpannableStringBuilder().append(ellipsizetoWidth(this.hint))
.append("\n")
.append(ellipsizetoWidth(this.subHint)));
} else {
super.setHint(ellipsizetoWidth(this.hint));
}
}
项目:PeSanKita-android
文件:FromTextView.java
public void setText(Recipients recipients,boolean read) {
int attributes[] = new int[]{R.attr.conversation_list_item_count_color};
TypedArray colors = getContext().obtainStyledAttributes(attributes);
String fromString = recipients.toShortString();
int typeface;
if (!read) {
typeface = Typeface.BOLD;
} else {
typeface = Typeface.norMAL;
}
SpannableStringBuilder builder = new SpannableStringBuilder(fromString);
builder.setSpan(new StyleSpan(typeface),builder.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
colors.recycle();
setText(builder);
if (recipients.isBlocked()) setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_block_grey600_18dp,0);
else if (recipients.isMuted()) setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_volume_off_grey600_18dp,0);
else setCompoundDrawablesWithIntrinsicBounds(0,0);
}
项目:Aequorea
文件:RichText.java
/**
* 生成富文本
*
* @return Spanned
*/
private CharSequence generateRichText() {
TextView textView = textViewSoftReference.get();
if (textView == null) {
return null;
}
if (config.richType != RichType.MARKDOWN) {
analyzeImages(config.source);
} else {
imageHolderMap = new HashMap<>();
}
SpannableStringBuilder spannableStringBuilder = null;
if (config.cacheType > CacheType.NONE) {
spannableStringBuilder = RichTextPool.getPool().loadCache(config.source);
}
if (spannableStringBuilder == null) {
spannableStringBuilder = parseRichText();
}
richText = new SoftReference<>(spannableStringBuilder);
config.imageGetter.registerImageLoadNotify(this);
cachedSpannedParser.setAccentColor(getAccentColor(textView.getContext()));
count = cachedSpannedParser.parse(spannableStringBuilder,this,config);
return spannableStringBuilder;
}
项目:Cable-Android
文件:FromTextView.java
public void setText(Recipients recipients,0);
}
/**
*
*/
protected SpannableString buildActionTitle() {
int dimensionPixelSize = mActionBaractivity.getResources().getDimensionPixelSize(R.dimen.BigTextSize);
int mutIndex = 0;
String format = "%s";
if(isMute) {
format = format + " #";
mutIndex += 2;
}
SpannableString spannableString = new SpannableString(mTitleText);
//EmoticonUtil.gettextformat(mActionBaractivity,String.format(format,new Object[]{mTitleText}),dimensionPixelSize);
if(isMute) {
if(mMuteIcon == null) {
mMuteIcon = getTitleIconTips(dimensionPixelSize,R.drawable.chat_mute_notify_title_icon);
}
int length = spannableString.length() - mutIndex + 1;
spannableString.setSpan(mMuteIcon,length,length + 1,SpannableStringBuilder.SPAN_POINT_MARK);
}
return spannableString;
}
/**
* Build a custom error text
*/
private SpannableStringBuilder createErrorText(@NonNull String errorString) {
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.RED);
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(errorString);
spannableStringBuilder.setSpan(foregroundColorSpan,errorString.length(),0);
return spannableStringBuilder;
}
项目:xifan
文件:PatternUtils.java
private static SpannableStringBuilder getUrlTextSpannableString(Context context,String source,int size) {
SpannableStringBuilder builder = new SpannableStringBuilder(source);
String prefix = " ";
builder.replace(0,prefix.length(),prefix);
Drawable drawable = context.getResources().getDrawable(R.mipmap.ic_status_link);
drawable.setBounds(0,size,size);
builder.setSpan(new VerticalImageSpan(drawable),source.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
builder.append(App.getInstance().getString(R.string.text_url_link));
return builder;
}
项目:mongol-library
文件:MongolTextStorage.java
@Override
public void removeSpan(Object what) {
if (!(mUnicodeText instanceof Spanned)) {
return;
}
if (!(mUnicodeText instanceof SpannableStringBuilder)) {
return;
}
((SpannableStringBuilder) mUnicodeText).removeSpan(what);
((SpannableStringBuilder) mGlyphText).removeSpan(what);
final int length = mUnicodeText.length();
if (mchangelistener != null)
mchangelistener.onSpanChanged((Spanned) mUnicodeText,what,length);
}
项目:BookLoadingView
文件:JumpingBeans.java
private JumpingBeansspan[] getJumpingBeansspans(SpannableStringBuilder sbb) {
JumpingBeansspan[] spans;
if (waveCharDelay == -1) {
waveCharDelay = loopDuration / (3 * (endPos - startPos));
}
spans = new JumpingBeansspan[endPos - startPos];
for (int pos = startPos; pos < endPos; pos++) {
JumpingBeansspan jumpingBean =
new JumpingBeansspan(textView,loopDuration,pos - startPos,waveCharDelay,animRange);
sbb.setSpan(jumpingBean,pos,pos + 1,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spans[pos - startPos] = jumpingBean;
}
return spans;
}
/**
* Build a custom error text
*/
private SpannableStringBuilder createErrorText(@NonNull String errorString) {
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.RED);
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(errorString);
spannableStringBuilder.setSpan(foregroundColorSpan,0);
return spannableStringBuilder;
}
项目:Android-Spans
文件:Span.java
android.text.Spannable build(SpannableStringBuilder builder) {
if (nodes != null) {
for (Object child : nodes) {
if (child instanceof Span) {
((Span) child).build(builder);
} else {
builder.append(child.toString());
}
}
}
return builder;
}
private static SpannableStringBuilder removeNewlines(SpannableStringBuilder s) {
int start = 0;
int end = s.length();
while (start < end && Character.isWhitespace(s.charat(start))) {
start++;
}
while (end > start && Character.isWhitespace(s.charat(end - 1))) {
end--;
}
return (SpannableStringBuilder) s.subSequence(start,end);
}
项目:QMUI_Android
文件:QMUISpanHelper.java
/**
* 在text左边或者右边添加icon,* 默认TextView添加leftDrawable或rightDrawable不能适应TextView match_parent的情况
*
* @param left true 则在文字左边添加 icon,false 则在文字右边添加 icon
* @param text 文字内容
* @param icon 需要被添加的 icon
* @return 返回带有 icon 的文字
*/
public static CharSequence generateSideIconText(boolean left,int iconPadding,CharSequence text,Drawable icon) {
if (icon == null) {
return text;
}
icon.setBounds(0,icon.getIntrinsicWidth(),icon.getIntrinsicHeight());
String iconTag = "[icon]";
SpannableStringBuilder builder = new SpannableStringBuilder();
int start,end;
if (left) {
start = 0;
builder.append(iconTag);
end = builder.length();
builder.append(text);
} else {
builder.append(text);
start = builder.length();
builder.append(iconTag);
end = builder.length();
}
QMUIMarginImageSpan imageSpan;
if (left) {
imageSpan = new QMUIMarginImageSpan(icon,QMUIAlignMiddleImageSpan.ALIGN_MIDDLE,iconPadding);
} else {
imageSpan = new QMUIMarginImageSpan(icon,iconPadding,0);
}
builder.setSpan(imageSpan,Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
imageSpan.setAvoidSuperChangeFontMetrics(true);
return builder;
}
项目:mongol-library
文件:MongolTextStorage.java
@Override
public void setFilters(InputFilter[] filters) {
if (!(mUnicodeText instanceof SpannableStringBuilder)) {
return;
}
// Todo: this is untested!
int oldLength = mUnicodeText.length();
((SpannableStringBuilder) mUnicodeText).setFilters(filters);
((SpannableStringBuilder) mGlyphText).setFilters(filters);
if (mchangelistener != null)
mchangelistener.onTextChanged(mUnicodeText,oldLength,mUnicodeText.length());
}
@Override
protected boolean updateInternal(AxisInfo axisInfo) {
final SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append("Axis ID: ").append(axisInfo.axisId).append(StringUtil.NEW_LINE);
sb.append("Value: ").append(axisInfo.axisFormattedDataValue);
setText(sb);
return true;
}
项目:orgzly-android
文件:UserTimeFormatter.java
public CharSequence formatAll(OrgRange time) {
SpannableStringBuilder s = new SpannableStringBuilder();
s.append(formatAll(time.getStartTime()));
if (time.getEndTime() != null) {
s.append(" — ");
s.append(formatAll(time.getEndTime()));
}
return s;
}
项目:RNLearn_Project1
文件:RCTVirtualText.java
@Override
protected void performApplySpans(SpannableStringBuilder builder,int begin,boolean isEditable) {
mFontStylingSpan.freeze();
// All spans will automatically extend to the right of the text,but not the left - except
// for spans that start at the beginning of the text.
final int flag;
if (isEditable) {
flag = Spannable.SPAN_EXCLUSIVE_EXCLUSIVE;
} else {
flag = begin == 0 ?
Spannable.SPAN_INCLUSIVE_INCLUSIVE :
Spannable.SPAN_EXCLUSIVE_INCLUSIVE;
}
builder.setSpan(
mFontStylingSpan,begin,flag);
if (mShadowStyleSpan.getColor() != 0 && mShadowStyleSpan.geTradius() != 0) {
mShadowStyleSpan.freeze();
builder.setSpan(
mShadowStyleSpan,flag);
}
for (int i = 0,childCount = getChildCount(); i < childCount; ++i) {
FlatTextShadowNode child = (FlatTextShadowNode) getChildAt(i);
child.applySpans(builder,isEditable);
}
}
项目:anitrend-app
文件:MarkDown.java
private static SpannableStringBuilder fromMD(String content) {
if(content == null)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
return (SpannableStringBuilder) Html.fromHtml("<b>No content available</b>",Html.FROM_HTML_MODE_COMPACT | Html.FROM_HTML_OPTION_USE_CSS_COLORS | Html.FROM_HTML_SEParaTOR_LINE_BREAK_LIST);
else return (SpannableStringBuilder) Html.fromHtml("<b>No content available</b>");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
return (SpannableStringBuilder) Html.fromHtml(Processor.process(content),Html.FROM_HTML_MODE_COMPACT | Html.FROM_HTML_OPTION_USE_CSS_COLORS | Html.FROM_HTML_SEParaTOR_LINE_BREAK_LIST);
else return (SpannableStringBuilder) Html.fromHtml(Processor.process(content));
}
项目:QMark
文件:EditSourcelistadapter.java
@Override
public void bind(int position,EditSourceListBean data) {
mFB.display(mImgBg,data.imgBgUrl);
mFB.display(mImgCatgy,data.ImgCatgyUrl);
mTextLeft.setText(data.textLeft);
Resources resources = getView().getResources();
SpannableStringBuilder spans = new SpannableStringBuilder(resources.getString(R.string.i_m_category_text_sign_count,data.textSignSize));
spans.setSpan(new ForegroundColorSpan(resources.getColor(R.color.text_title_orange)),2,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spans.setSpan(new ForegroundColorSpan(resources.getColor(R.color.text_title_orange)),spans.length() - 3,spans.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
mTextSignSize.setText(spans);
}
项目:Espresso
文件:CompanyDetailFragment.java
@Override
public void setCompanyName(String name) {
String companyName = getString(R.string.company_name) + "\n" + name;
Spannable spannable = new SpannableStringBuilder(companyName);
spannable.setSpan(new StyleSpan(Typeface.BOLD),companyName.length() - name.length() - 1,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(new StyleSpan(Typeface.norMAL),companyName.length() - name.length(),companyName.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textViewCompanyName.setText(spannable);
}
项目:Espresso
文件:CompanyDetailFragment.java
@Override
public void setCompanyWebsite(String website) {
this.website = website;
String ws = getString(R.string.official_website) + "\n" + website;
Spannable spannable = new SpannableStringBuilder(ws);
spannable.setSpan(new StyleSpan(Typeface.BOLD),ws.length() - website.length() - 1,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(new URLSpan(website),ws.length() - website.length(),ws.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textViewWebsite.setText(spannable);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。