Java Code Examples for android.text.style.SubscriptSpan

The following are top voted examples for showing how to use android.text.style.SubscriptSpan. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: android_packages_apps_tv   File: CaptionWindowLayout.java   Source Code and License 6 votes vote down vote up
public void setPenAttr(CaptionPenAttr penAttr) {
    mCharacterStyles.clear();
    if (penAttr.italic) {
        mCharacterStyles.add(new StyleSpan(Typeface.ITALIC));
    }
    if (penAttr.underline) {
        mCharacterStyles.add(new UnderlineSpan());
    }
    switch (penAttr.penSize) {
        case CaptionPenAttr.PEN_SIZE_SMALL:
            mCharacterStyles.add(new RelativeSizeSpan(PROPORTION_PEN_SIZE_SMALL));
            break;
        case CaptionPenAttr.PEN_SIZE_LARGE:
            mCharacterStyles.add(new RelativeSizeSpan(PROPORTION_PEN_SIZE_LARGE));
            break;
    }
    switch (penAttr.penOffset) {
        case CaptionPenAttr.OFFSET_SUBSCRIPT:
            mCharacterStyles.add(new SubscriptSpan());
            break;
        case CaptionPenAttr.OFFSET_SUPERSCRIPT:
            mCharacterStyles.add(new SuperscriptSpan());
            break;
    }
}
 
Example 2
Project: memoir   File: ConverterSpannedToHtml.java   Source Code and License 6 votes vote down vote up
private void handleEndTag(CharacterStyle style) {
    if (style instanceof URLSpan) {
        mOut.append("</a>");
    } else if (style instanceof TypefaceSpan) {
        mOut.append("</font>");
    } else if (style instanceof ForegroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof BackgroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof AbsoluteSizeSpan) {
        mOut.append("</font>");
    } else if (style instanceof StrikethroughSpan) {
        mOut.append("</strike>");
    } else if (style instanceof SubscriptSpan) {
        mOut.append("</sub>");
    } else if (style instanceof SuperscriptSpan) {
        mOut.append("</sup>");
    } else if (style instanceof UnderlineSpan) {
        mOut.append("</u>");
    } else if (style instanceof BoldSpan) {
        mOut.append("</b>");
    } else if (style instanceof ItalicSpan) {
        mOut.append("</i>");
    }
}
 
Example 3
Project: memoir   File: ConverterSpannedToHtml.java   Source Code and License 6 votes vote down vote up
private void handleEndTag(CharacterStyle style) {
    if (style instanceof URLSpan) {
        mOut.append("</a>");
    } else if (style instanceof TypefaceSpan) {
        mOut.append("</font>");
    } else if (style instanceof ForegroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof BackgroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof AbsoluteSizeSpan) {
        mOut.append("</font>");
    } else if (style instanceof StrikethroughSpan) {
        mOut.append("</strike>");
    } else if (style instanceof SubscriptSpan) {
        mOut.append("</sub>");
    } else if (style instanceof SuperscriptSpan) {
        mOut.append("</sup>");
    } else if (style instanceof UnderlineSpan) {
        mOut.append("</u>");
    } else if (style instanceof BoldSpan) {
        mOut.append("</b>");
    } else if (style instanceof ItalicSpan) {
        mOut.append("</i>");
    }
}
 
Example 4
Project: Doctor   File: ConverterSpannedToHtml.java   Source Code and License 6 votes vote down vote up
private void handleEndTag(CharacterStyle style) {
    if (style instanceof URLSpan) {
        mOut.append("</a>");
    } else if (style instanceof TypefaceSpan) {
        mOut.append("</font>");
    } else if (style instanceof ForegroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof BackgroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof AbsoluteSizeSpan) {
        mOut.append("</font>");
    } else if (style instanceof StrikethroughSpan) {
        mOut.append("</strike>");
    } else if (style instanceof SubscriptSpan) {
        mOut.append("</sub>");
    } else if (style instanceof SuperscriptSpan) {
        mOut.append("</sup>");
    } else if (style instanceof UnderlineSpan) {
        mOut.append("</u>");
    } else if (style instanceof BoldSpan) {
        mOut.append("</b>");
    } else if (style instanceof ItalicSpan) {
        mOut.append("</i>");
    }
}
 
Example 5
Project: Android-RTEditor   File: ConverterSpannedToHtml.java   Source Code and License 6 votes vote down vote up
private void handleEndTag(CharacterStyle style) {
    if (style instanceof URLSpan) {
        mOut.append("</a>");
    } else if (style instanceof TypefaceSpan) {
        mOut.append("</font>");
    } else if (style instanceof ForegroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof BackgroundColorSpan) {
        mOut.append("</font>");
    } else if (style instanceof AbsoluteSizeSpan) {
        mOut.append("</font>");
    } else if (style instanceof StrikethroughSpan) {
        mOut.append("</strike>");
    } else if (style instanceof SubscriptSpan) {
        mOut.append("</sub>");
    } else if (style instanceof SuperscriptSpan) {
        mOut.append("</sup>");
    } else if (style instanceof UnderlineSpan) {
        mOut.append("</u>");
    } else if (style instanceof BoldSpan) {
        mOut.append("</b>");
    } else if (style instanceof ItalicSpan) {
        mOut.append("</i>");
    }
}
 
Example 6
Project: SpanEZ   File: SpanEZTest.java   Source Code and License 5 votes vote down vote up
@Test
public void subscript_should_add_only_one_span() {
    spanBuilder.style(range, EZ.SUBSCRIPT)
               .apply();

    verify((SpanEZ) spanBuilder, times(1))
            .addSpan(isA(TargetRange.class), isA(SubscriptSpan.class));
}
 
Example 7
Project: amap   File: MIP_TextStyle.java   Source Code and License 5 votes vote down vote up
public MIP_TextStyle setSubscriptSpan(int start, int end)
{
    if (spannableString == null)
    {
        return this;
    }
    spannableString.setSpan(new SubscriptSpan(), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // 设置前景色为洋红色
    return this;
}
 
Example 8
Project: spanner   File: Spans.java   Source Code and License 5 votes vote down vote up
/**
 * @see SubscriptSpan#SubscriptSpan()
 */
public static Span subscript() {
    return new Span(new SpanBuilder() {
        @Override
        public Object build() {
            return new SubscriptSpan();
        }
    });
}
 
Example 9
Project: DailyStudy   File: SpannableStringActivity.java   Source Code and License 5 votes vote down vote up
/**
 * SubscriptSpan,设置下标
 */
private void subscript () {
    SpannableString string = new SpannableString("为文字设置下划线");
    RelativeSizeSpan sizeSpan = new RelativeSizeSpan(0.7f);
    string.setSpan(sizeSpan, 5, string.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
    SubscriptSpan superscriptSpan = new SubscriptSpan();
    string.setSpan(superscriptSpan, 5, string.length(), Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
    bgtext.setText(string);
}
 
Example 10
Project: text-decorator   File: TextDecorator.java   Source Code and License 5 votes vote down vote up
public TextDecorator setSubscript(final String... texts) {
  int index;

  for (String text : texts) {
    if (content.contains(text)) {
      index = content.indexOf(text);
      decoratedContent.setSpan(new SubscriptSpan(), index, index + text.length(), flags);
    }
  }

  return this;
}
 
Example 11
Project: matrix-creator-malos-android   File: ColorLEDController.java   Source Code and License 5 votes vote down vote up
public void attachToView(ViewGroup targetView) {
	for (int i = 0; i < 3; ++i) {
		ViewGroup g = (ViewGroup) targetView.getChildAt(i);
		TextView label = (TextView) g.getChildAt(0);
		Slider slider = (Slider) g.getChildAt(1);
		TextView valueText = (TextView) g.getChildAt(2);
		SliderPositionListener positionListener = new LedValueUpdater(valueText, i);
		slider.setPositionListener(positionListener);
		LabelClickListener leftLabelListener = new LabelClickListener(slider, 0);
		label.setOnClickListener(leftLabelListener);
		LabelClickListener rightLabelListener = new LabelClickListener(slider, 1);
		valueText.setOnClickListener(rightLabelListener);
		valueText.setText("0");
		if (i == 0) {
			String labelText = "Led";
			SpannableStringBuilder ssb = new SpannableStringBuilder(labelText);
			ssb.append(String.valueOf(mLEDNumber));
			int spanStart = labelText.length();
			int spanEnd = spanStart + 1;
			ssb.setSpan(new SubscriptSpan(), spanStart, spanEnd, 0);
			ssb.setSpan(new RelativeSizeSpan(0.7f), spanStart, spanEnd, 0);
			label.setText(ssb);
			slider.setSliderBackground(mRed);
		} else {
			label.setText("");
			if (i == 1) {
				slider.setSliderBackground(mGreen);
			} else {
				slider.setSliderBackground(mBlue);
			}
		}
	}
}
 
Example 12
Project: nono-android   File: EditView.java   Source Code and License 5 votes vote down vote up
@Override
public void onSpanClick(SpanButton v) {
    View view=richEdit.findFocus();
    BaseRichEditText editText;
    if(view instanceof BaseRichEditText){
        editText=(BaseRichEditText)view;
    }else {
        return;
    }
    TypedValue typedValue = new TypedValue();
    getContext().getTheme().resolveAttribute(R.attr.colorAccent, typedValue, true);
    int color=typedValue.data;
    switch (v.getSpan()){
        case SpanButton.SPAN_BOLD:editText.toggleBold();if(editText.isBold()){editText.applyStyleSpan(Typeface.BOLD);v.setColor(color);}else {editText.removeSelectionSpan(Typeface.BOLD);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_ITALIC:editText.toggleItalic();if(editText.isItalic()){editText.applyStyleSpan(Typeface.ITALIC);v.setColor(color);}else {editText.removeSelectionSpan(Typeface.ITALIC);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_STRIKETHROUGH:editText.toggleStrikethrough();if(editText.isStrikethrough()){editText.applySelectionSpan(StrikethroughSpan.class);v.setColor(color);}else {editText.removeSelectionSpan(StrikethroughSpan.class);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_UNDERLINE:editText.toggleUnderLine();if(editText.isUnderLine()){editText.applySelectionSpan(UnderlineSpan.class);v.setColor(color);}else {editText.removeSelectionSpan(UnderlineSpan.class);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_FOREGROUND:editText.toggleForegroundColor();if(editText.isForegroundColor()){editText.applyColorSpan(ForegroundColorSpan.class,v.getGroundColor());v.setColor(v.getGroundColor());}else {editText.removeSelectionSpan(ForegroundColorSpan.class);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_BACKGROUND:editText.toggleBackgroundColor();if(editText.isBackgroundColor()){editText.applyColorSpan(BackgroundColorSpan.class,v.getGroundColor());v.setColor(v.getGroundColor());}else {editText.removeSelectionSpan(BackgroundColorSpan.class);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_SUBSCRIPT:editText.toggleSubscript();if(editText.isSubscript()){editText.applyScriptSpan(SubscriptSpan.class);v.setColor(color);}else {editText.removeSelectionSpan(SubscriptSpan.class);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_SUPERSCRIPT:editText.toggleSuperscript();if(editText.isSuperscript()){editText.applyScriptSpan(SuperscriptSpan.class);v.setColor(color);}else {editText.removeSelectionSpan(SuperscriptSpan.class);v.setColor(0xff757575);}break;
        case SpanButton.SPAN_TODO:richEdit.addTodoLayout((BaseContainer) richEdit.findFocus().getParent().getParent());break;
        case SpanButton.SPAN_DOT:richEdit.addDotLayout((BaseContainer) richEdit.findFocus().getParent().getParent());break;
        case SpanButton.SPAN_NUMERIC:richEdit.addNumericLayout((BaseContainer) richEdit.findFocus().getParent().getParent());break;
        case SpanButton.SPAN_PHOTO:richEdit.addPhotoLayout((BaseContainer) richEdit.findFocus().getParent().getParent());break;
        //case SpanButton.SPAN_TEXTSIZE:editText.changeSize();editText.applyRelativeSpan();break;
        //case SpanButton.SPAN_BOLD:editText.toggleBold();if(editText.isBold()){editText.applyStyleSpan(Typeface.BOLD);v.setColor(color);}else {editText.removeSelectionSpan(Typeface.BOLD);v.setColor(0xff757575);}break;
    }
}
 
Example 13
Project: nono-android   File: MyHtmlTagHandler.java   Source Code and License 5 votes vote down vote up
private void processSub( boolean opening, Editable output) {

        int len = output.length();
        if(opening) {
            //output.setSpan(new RelativeSizeSpan(0.5f), len, len, Spannable.SPAN_MARK_MARK);
            output.setSpan(new SubscriptSpan(), len, len, Spannable.SPAN_MARK_MARK);
            //output.setSpan(new AbsoluteSizeSpan(scriptSize,false), len, len, Spannable.SPAN_MARK_MARK);
        } else {
            Object obj = getLast(output, SubscriptSpan.class);
            int where = output.getSpanStart(obj);
            output.removeSpan(obj);
            //obj = getLast(output, RelativeSizeSpan.class);
            //output.removeSpan(obj);
            if (where != len&&where>=0) {
                //output.setSpan(new AbsoluteSizeSpan(scriptSize, false), where, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                output.setSpan(new RelativeSizeSpan(0.7f), where, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                output.setSpan(new SubscriptSpan(), where, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
           // obj = getLast(output, AbsoluteSizeSpan.class);
           // where = output.getSpanStart(obj);
           // output.removeSpan(obj);
           // if (where != len) {
           //     output.setSpan(new AbsoluteSizeSpan(scriptSize, false), where, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
           //     //output.setSpan(new RelativeSizeSpan(0.5f), where, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
           // }
        }
    }
 
Example 14
Project: SpannableStringDemo   File: MainActivity.java   Source Code and License 5 votes vote down vote up
/**
 * 设置文字下标
 */
private void showSubscriptSpan()
{
    TextView tvSubScriptSpan = (TextView) findViewById(R.id.tv_subscript_span);
    SpannableString spannableString = new SpannableString("这是第七行设置文字下标:CO2");
    SubscriptSpan subscriptSpan = new SubscriptSpan();
    spannableString.setSpan(subscriptSpan, spannableString.length()-1, spannableString.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    tvSubScriptSpan.setText(spannableString);
}
 
Example 15
Project: Trestle   File: Trestle.java   Source Code and License 5 votes vote down vote up
private static void setUpSubscriptSpan(Span span, SpannableString ss, int start, int end) {
    if (span.isSubscript()) {
        ss.setSpan(
            new SubscriptSpan(),
            start,
            end,
            Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
}
 
Example 16
Project: Android-Spans   File: Span.java   Source Code and License 4 votes vote down vote up
public static Node subscript(Object... nodes) {
    return new SpanNode(new SubscriptSpan(), nodes);
}
 
Example 17
Project: mvvm-template   File: SubScriptHandler.java   Source Code and License 4 votes vote down vote up
@Override public void handleTagNode(TagNode node, SpannableStringBuilder builder, int start, int end) {
    builder.setSpan(new SubscriptSpan(), start, end, 33);
    builder.setSpan(new RelativeSizeSpan(0.8f), start, end, 33);
}
 
Example 18
Project: SDHtmlTextView   File: SubScriptHandler.java   Source Code and License 4 votes vote down vote up
public void handleTagNode(TagNode node, SpannableStringBuilder builder,
		int start, int end, SpanStack spanStack) {

	spanStack.pushSpan(new SubscriptSpan(), start, end);
}
 
Example 19
Project: BabushkaText   File: BabushkaText.java   Source Code and License 4 votes vote down vote up
private void applySpannablesTo(Piece aPiece, SpannableString finalString, int start, int end) {

        if(aPiece.subscript) {
            finalString.setSpan(new SubscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.superscript) {
            finalString.setSpan(new SuperscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.strike) {
            finalString.setSpan(new StrikethroughSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.underline) {
            finalString.setSpan(new UnderlineSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        // style
        finalString.setSpan(new StyleSpan(aPiece.style), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // absolute text size
        finalString.setSpan(new AbsoluteSizeSpan(aPiece.textSize), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // relative text size
        finalString.setSpan(new RelativeSizeSpan(aPiece.textSizeRelative), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // text color
        finalString.setSpan(new ForegroundColorSpan(aPiece.textColor), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // background color
        if(aPiece.backgroundColor != -1) {
            finalString.setSpan(new BackgroundColorSpan(aPiece.backgroundColor), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    }
 
Example 20
Project: HtmlCompat   File: HtmlToSpannedConverter.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        endCssStyle(tag, mSpannableStringBuilder);
        endBlockElement(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("ul")) {
        endBlockElement(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("li")) {
        endLi(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        endBlockElement(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("span")) {
        endCssStyle(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("strong")) {
        end(tag, mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(tag, mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("em")) {
        end(tag, mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(tag, mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(tag, mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(tag, mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(tag, mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(tag, mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        endBlockquote(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("tt")) {
        end(tag, mSpannableStringBuilder, Monospace.class, new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(tag, mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(tag, mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("del")) {
        end(tag, mSpannableStringBuilder, Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("s")) {
        end(tag, mSpannableStringBuilder, Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("strike")) {
        end(tag, mSpannableStringBuilder, Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(tag, mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(tag, mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        endHeading(tag, mSpannableStringBuilder);
    } else if (mTagHandler != null) {
        mTagHandler.handleTag(false, tag, null, mSpannableStringBuilder, mReader);
    }
}
 
Example 21
Project: E621Mobile   File: DTextRuleCollection.java   Source Code and License 4 votes vote down vote up
@Override
public void apply(Spannable s, TextView tv)
{
	s.setSpan(new SubscriptSpan(), 0, s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
	s.setSpan(new RelativeSizeSpan(0.5f), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
 
Example 22
Project: android-common-util-light   File: StyledText.java   Source Code and License 4 votes vote down vote up
public StyledText appendSubscript(CharSequence text){
	return append(text, new SubscriptSpan());
}
 
Example 23
Project: ForPDA   File: Html.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        endCssStyle(mSpannableStringBuilder);
        endBlockElement(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("ul")) {
        endBlockElement(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("li")) {
        endLi(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        endBlockElement(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("span")) {
        endCssStyle(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.875f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        endBlockquote(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class, new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("del")) {
        end(mSpannableStringBuilder, Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("s")) {
        end(mSpannableStringBuilder, Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("strike")) {
        end(mSpannableStringBuilder, Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        endHeading(mSpannableStringBuilder);
    } else if (mTagHandler != null) {
        mTagHandler.handleTag(false, tag, mSpannableStringBuilder, mReader);
    }
}
 
Example 24
Project: text-decorator   File: TextDecorator.java   Source Code and License 4 votes vote down vote up
public TextDecorator setSubscript(final int start, final int end) {
  checkIndexOutOfBoundsException(start, end);
  decoratedContent.setSpan(new SubscriptSpan(), start, end, flags);

  return this;
}
 
Example 25
Project: AndroidSamples   File: SpannableActivity.java   Source Code and License 4 votes vote down vote up
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_spannable);
    ButterKnife.bind(this);

    SpannableString spannableString = new SpannableString("前景色背景色相对大小删除线下划线" +
            "上标小上标下标粗体斜体显示图片点击超链接");

    ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.parseColor("#0099EE"));
    BackgroundColorSpan backgroundColorSpan = new BackgroundColorSpan(Color.parseColor("#AC00FF30"));
    RelativeSizeSpan relativeSizeSpan = new RelativeSizeSpan(2f);
    StrikethroughSpan strikethroughSpan = new StrikethroughSpan();
    UnderlineSpan underlineSpan = new UnderlineSpan();
    SuperscriptSpan superscriptSpan = new SuperscriptSpan();
    RelativeSizeSpan relativeSizeSpan2 = new RelativeSizeSpan(0.5f);
    SubscriptSpan subscriptSpan = new SubscriptSpan();
    StyleSpan styleSpan_B = new StyleSpan(Typeface.BOLD);
    StyleSpan styleSpan_I = new StyleSpan(Typeface.ITALIC);

    ImageSpan imageSpan = new ImageSpan(this, R.mipmap.ic_launcher);
    ClickableSpan clickableSpan = new ClickableSpan() {
        @Override
        public void onClick(View widget) {
            Toast.makeText(SpannableActivity.this, "点击", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void updateDrawState(TextPaint ds) {
            // 文字不变色
            ds.setUnderlineText(false);
        }
    };
    URLSpan urlSpan = new URLSpan("http://www.sdwfqin.com");

    spannableString.setSpan(foregroundColorSpan, 0, 3, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(backgroundColorSpan, 3, 6, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(relativeSizeSpan, 6, 10, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(strikethroughSpan, 10, 13, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(underlineSpan, 13, 16, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(superscriptSpan, 16, 21, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(relativeSizeSpan2, 18, 21, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(subscriptSpan, 21, 23, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(styleSpan_B, 23, 25, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(styleSpan_I, 25, 27, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(imageSpan, 29, 31, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(clickableSpan, 31, 33, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    spannableString.setSpan(urlSpan, 33, 36, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);

    spanString.setMovementMethod(LinkMovementMethod.getInstance());
    // 点击背景色
    // spanString.setHighlightColor(Color.parseColor("#36969696"));
    // 可以点击
    spanString.setText(spannableString);

    SpannableStringBuilder builder = new SpannableStringBuilder("哈哈哈");
    builder.setSpan(foregroundColorSpan, 0, 3, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
    builder.append("lalala");
    // 注意:如果使用toString()方法设置的样式就没有了
    spanBuilder.setText(builder);
}
 
Example 26
Project: memoir   File: ConverterHtmlToSpanned.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr();
    } else if (tag.equalsIgnoreCase("p")) {
        handleP();
    } else if (tag.equalsIgnoreCase("div")) {
        endDiv();
    } else if (tag.equalsIgnoreCase("ul")) {
        endList(false);
    } else if (tag.equalsIgnoreCase("ol")) {
        endList(true);
    } else if (tag.equalsIgnoreCase("li")) {
        endList();
    } else if (tag.equalsIgnoreCase("strong")) {
        end(Bold.class, new BoldSpan());
    } else if (tag.equalsIgnoreCase("b")) {
        end(Bold.class, new BoldSpan());
    } else if (tag.equalsIgnoreCase("em")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("cite")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("i")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("strike")) {
        end(Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("del")) {
        end(Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("big")) {
        end(Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont();
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP();
        end(Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("a")) {
        endAHref();
    } else if (tag.equalsIgnoreCase("u")) {
        end(Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP();
        endHeader();
    } else if (sIgnoreTags.contains(tag.toLowerCase(Locale.getDefault()))) {
        mIgnoreContent = false;
    }
}
 
Example 27
Project: memoir   File: ConverterHtmlToSpanned.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr();
    } else if (tag.equalsIgnoreCase("p")) {
        handleP();
    } else if (tag.equalsIgnoreCase("div")) {
        endDiv();
    } else if (tag.equalsIgnoreCase("ul")) {
        endList(false);
    } else if (tag.equalsIgnoreCase("ol")) {
        endList(true);
    } else if (tag.equalsIgnoreCase("li")) {
        endList();
    } else if (tag.equalsIgnoreCase("strong")) {
        end(Bold.class, new BoldSpan());
    } else if (tag.equalsIgnoreCase("b")) {
        end(Bold.class, new BoldSpan());
    } else if (tag.equalsIgnoreCase("em")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("cite")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("i")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("strike")) {
        end(Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("del")) {
        end(Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("big")) {
        end(Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont();
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP();
        end(Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("a")) {
        endAHref();
    } else if (tag.equalsIgnoreCase("u")) {
        end(Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP();
        endHeader();
    } else if (sIgnoreTags.contains(tag.toLowerCase(Locale.getDefault()))) {
        mIgnoreContent = false;
    }
}
 
Example 28
Project: typhon   File: SpannableHook.java   Source Code and License 4 votes vote down vote up
@Override
public void endSubscript() {
    if (subScriptStart != null)
        setSpan(new SubscriptSpan(), subScriptStart);
    subScriptStart = null;
}
 
Example 29
Project: SimpleText   File: SimpleText.java   Source Code and License 4 votes vote down vote up
public SimpleText subscript() {
  for (Range range : rangeList) {
    setSpan(new SubscriptSpan(), range.from, range.to, SPAN_MODE);
  }
  return this;
}
 
Example 30
Project: AyoSunny   File: HtmlTagHandler.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP(mSpannableStringBuilder);
        end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class,
                new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP(mSpannableStringBuilder);
        endHeader(mSpannableStringBuilder);
    } else if (mTagHandler != null) {
        mTagHandler.handleTag(false, tag, mSpannableStringBuilder, null);
    }
}
 
Example 31
Project: AyoSunny   File: HtmlHandler.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP(mSpannableStringBuilder);
        end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class,
                new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP(mSpannableStringBuilder);
        endHeader(mSpannableStringBuilder);
    } else if (mTagHandler != null) {
        mTagHandler.handleTag(false, tag, mSpannableStringBuilder, null);
    }
}
 
Example 32
Project: Doctor   File: ConverterHtmlToSpanned.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr();
    } else if (tag.equalsIgnoreCase("p")) {
        handleP();
    } else if (tag.equalsIgnoreCase("div")) {
        endDiv();
    } else if (tag.equalsIgnoreCase("ul")) {
        endList(false);
    } else if (tag.equalsIgnoreCase("ol")) {
        endList(true);
    } else if (tag.equalsIgnoreCase("li")) {
        endList();
    } else if (tag.equalsIgnoreCase("strong")) {
        end(Bold.class, new BoldSpan());
    } else if (tag.equalsIgnoreCase("b")) {
        end(Bold.class, new BoldSpan());
    } else if (tag.equalsIgnoreCase("em")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("cite")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("i")) {
        end(Italic.class, new ItalicSpan());
    } else if (tag.equalsIgnoreCase("strike")) {
        end(Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("del")) {
        end(Strikethrough.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("big")) {
        end(Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont();
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP();
        end(Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("a")) {
        endAHref();
    } else if (tag.equalsIgnoreCase("u")) {
        end(Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP();
        endHeader();
    } else if (sIgnoreTags.contains(tag.toLowerCase(Locale.getDefault()))) {
        mIgnoreContent = false;
    }
}
 
Example 33
Project: nono-android   File: BaseRichEditText.java   Source Code and License 4 votes vote down vote up
public void removeSpan(Object what,int start,int end) {
    int s = getEditableText().getSpanStart(what);
    int e = getEditableText().getSpanEnd(what);
    getEditableText().removeSpan(what);
    end = end > e ? e : end;
    start = start > s ? start : s;
    if (what instanceof AbsoluteSizeSpan) {
        setSpan(new AbsoluteSizeSpan(
                ((AbsoluteSizeSpan) what).getSize(), false), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new AbsoluteSizeSpan(
                ((AbsoluteSizeSpan) what).getSize(), false), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else if (what instanceof RelativeSizeSpan) {
        setSpan(new RelativeSizeSpan(((RelativeSizeSpan) what).getSizeChange()), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new RelativeSizeSpan(((RelativeSizeSpan) what).getSizeChange()), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else if (what instanceof StyleSpan) {
        if (((StyleSpan) what).getStyle() == Typeface.BOLD) {
            setSpan(new StyleSpan(Typeface.BOLD), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            setSpan(new StyleSpan(Typeface.BOLD), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        } else if (((StyleSpan) what).getStyle() == Typeface.ITALIC) {
            setSpan(new StyleSpan(Typeface.ITALIC), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            setSpan(new StyleSpan(Typeface.ITALIC), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    } else if (what instanceof ForegroundColorSpan) {
        setSpan(new ForegroundColorSpan(((ForegroundColorSpan) what).getForegroundColor()), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new ForegroundColorSpan(((ForegroundColorSpan) what).getForegroundColor()), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else if (what instanceof BackgroundColorSpan) {
        setSpan(new ForegroundColorSpan(((BackgroundColorSpan) what).getBackgroundColor()), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new ForegroundColorSpan(((BackgroundColorSpan) what).getBackgroundColor()), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else if (what instanceof UnderlineSpan) {
        setSpan(new UnderlineSpan(), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new UnderlineSpan(), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else if (what instanceof StrikethroughSpan) {
        setSpan(new StrikethroughSpan(), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new StrikethroughSpan(), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else if (what instanceof SubscriptSpan) {
        setSpan(new SubscriptSpan(), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new SubscriptSpan(), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    } else if (what instanceof SuperscriptSpan) {
        setSpan(new SuperscriptSpan(), s, start, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        setSpan(new SuperscriptSpan(), end, e, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    }
}
 
Example 34
Project: nono-android   File: BaseRichEditText.java   Source Code and License 4 votes vote down vote up
@Override
protected void onSelectionChanged(int selStart, int selEnd) {

    super.onSelectionChanged(selStart, selEnd);
    selStart=selStart<0?0:selStart;
    selEnd=selEnd<0?0:selEnd;
    if(selStart>selEnd) {
        int temp = selEnd;
        selEnd = selStart;
        selStart = temp;
    }
    if(length()==0){
        return;
    }
    isUnderLine = getSelectionSpan(UnderlineSpan.class,selStart,selEnd);
    isStrikethrough = getSelectionSpan(StrikethroughSpan.class,selStart,selEnd);
    isBold = getSelectionSpan(Typeface.BOLD,selStart,selEnd);
    isItalic = getSelectionSpan(Typeface.ITALIC,selStart,selEnd);
    isSubscript = getSelectionSpan(SubscriptSpan.class,selStart,selEnd);
    isSuperscript = getSelectionSpan(SuperscriptSpan.class,selStart,selEnd);
    isForegroundColor = getSelectionSpan(ForegroundColorSpan.class,selStart,selEnd);
    isBackgroundColor=getSelectionSpan(BackgroundColorSpan.class,selStart,selEnd);
    sizeFlag=MEDIUM_TEXT;
    RelativeSizeSpan[] spans;
    if(selStart==selEnd){
        if(selStart>1){
            selStart=selStart-1;
            spans= getEditableText().getSpans(selStart, selStart+1, RelativeSizeSpan.class);
        }else {
            spans = getEditableText().getSpans(selStart, selStart, RelativeSizeSpan.class);
        }
    }else {
        spans= getEditableText().getSpans(selStart, selStart+1, RelativeSizeSpan.class);
    }
    if(spans.length>0){
        float size=spans[0].getSizeChange();
        if(size==textMultiple[SMALL_TEXT]){
            sizeFlag=SMALL_TEXT;
        }else if(size==textMultiple[LARGE_TEXT]){
            sizeFlag=LARGE_TEXT;
        }else {
            sizeFlag=MEDIUM_TEXT;
        }
    }
    if(selectionSpanCallback!=null) {
        selectionSpanCallback.callback(
                isUnderLine,
                isStrikethrough,
                isBold,
                isItalic,
                isSubscript,
                isSuperscript,
                isForegroundColor,
                colorFontForeground,
                isBackgroundColor,
                colorFontBackground,
                sizeFlag);
    }
}
 
Example 35
Project: luxunPro   File: BabushkaText.java   Source Code and License 4 votes vote down vote up
private void applySpannablesTo(Piece aPiece, SpannableString finalString, int start, int end) {

        if(aPiece.subscript) {
            finalString.setSpan(new SubscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.superscript) {
            finalString.setSpan(new SuperscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.strike) {
            finalString.setSpan(new StrikethroughSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.underline) {
            finalString.setSpan(new UnderlineSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        // style
        finalString.setSpan(new StyleSpan(aPiece.style), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // absolute text size
        finalString.setSpan(new AbsoluteSizeSpan(aPiece.textSize), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // relative text size
        finalString.setSpan(new RelativeSizeSpan(aPiece.textSizeRelative), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // text color
        finalString.setSpan(new ForegroundColorSpan(aPiece.textColor), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // background color
        if(aPiece.backgroundColor != -1) {
            finalString.setSpan(new BackgroundColorSpan(aPiece.backgroundColor), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    }
 
Example 36
Project: Nimingban   File: Html.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (mTagHandler == null || !mTagHandler.handleTag(false, tag,
            mSpannableStringBuilder, mReader, null)) {
        if (tag.equalsIgnoreCase("br")) {
            handleBr(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("p")) {
            handleP(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("div")) {
            handleP(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("strong")) {
            end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
        } else if (tag.equalsIgnoreCase("b")) {
            end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
        } else if (tag.equalsIgnoreCase("em")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("cite")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("dfn")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("i")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("big")) {
            end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
        } else if (tag.equalsIgnoreCase("small")) {
            end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
        } else if (tag.equalsIgnoreCase("font")) {
            endFont(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("blockquote")) {
            handleP(mSpannableStringBuilder);
            end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
        } else if (tag.equalsIgnoreCase("tt")) {
            end(mSpannableStringBuilder, Monospace.class,
                    new TypefaceSpan("monospace"));
        } else if (tag.equalsIgnoreCase("a")) {
            endA(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("u")) {
            end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
        } else if (tag.equalsIgnoreCase("ins")) {
            end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
        } else if (tag.equalsIgnoreCase("strike")) {
            end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
        } else if (tag.equalsIgnoreCase("s")) {
            end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
        } else if (tag.equalsIgnoreCase("del")) {
            end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
        } else if (tag.equalsIgnoreCase("sup")) {
            end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
        } else if (tag.equalsIgnoreCase("sub")) {
            end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
        } else if (tag.length() == 2 &&
                Character.toLowerCase(tag.charAt(0)) == 'h' &&
                tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
            handleP(mSpannableStringBuilder);
            endHeader(mSpannableStringBuilder);
        }
    }
}
 
Example 37
Project: MVPAndroidBootstrap   File: BabushkaText.java   Source Code and License 4 votes vote down vote up
private void applySpannablesTo(Piece aPiece, SpannableString finalString, int start, int end) {

        if(aPiece.subscript) {
            finalString.setSpan(new SubscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.superscript) {
            finalString.setSpan(new SuperscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.strike) {
            finalString.setSpan(new StrikethroughSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.underline) {
            finalString.setSpan(new UnderlineSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        // style
        finalString.setSpan(new StyleSpan(aPiece.style), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // absolute text size
        finalString.setSpan(new AbsoluteSizeSpan(aPiece.textSize), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // relative text size
        finalString.setSpan(new RelativeSizeSpan(aPiece.textSizeRelative), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // text color
        finalString.setSpan(new ForegroundColorSpan(aPiece.textColor), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // background color
        if(aPiece.backgroundColor != -1) {
            finalString.setSpan(new BackgroundColorSpan(aPiece.backgroundColor), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    }
 
Example 38
Project: wATLlib   File: SpannedSerializator.java   Source Code and License 4 votes vote down vote up
private SpanPlacementInfo readSingleCharacterStyle(DataInputStream dis) throws IOException {
    SpanPlacementInfo spi = new SpanPlacementInfo();
    spi.start = dis.readInt();
    spi.end = dis.readInt();
    spi.mode = dis.readInt();
    int tag = dis.readInt();
    switch (tag) {
        case -1:
            return spi; // we does not known this span type
        case -2: // underlying?
            int ref = dis.readInt();
            spi.span = CharacterStyle.wrap((CharacterStyle) mWrittenTagsReverse.get(ref));
            return spi;
        case 1: // BackgroundColorSpan
            spi.span = new BackgroundColorSpan(dis.readInt());
            break;
        case 3: // ForegroundColorSpan
            spi.span = new ForegroundColorSpan(dis.readInt());
            break;
        case 7: // StrikeTroughSpan
            spi.span = new StrikethroughSpan();
            break;
        case 8: // SuggestionSpan
            Log.w(TAG, "SuggestionSpan not supported");
            break;
        case 9: // UnderlineSpan
            spi.span = new UnderlineSpan();
            break;
        case 10: // AbsoluteSizeSpan
            spi.span = new AbsoluteSizeSpan(dis.readInt(),dis.readBoolean());
            break;
        case 11:
            spi.span = readDynamicDrawableSpan(dis);
            break;
        case 12: // ImageSpan
            spi.span = readImageSpanData(dis);
            break;
        case 13: // LocaleSpan
            // unsupported
            break;
        case 14: // RelativeSizeSpan
            spi.span = new RelativeSizeSpan(dis.readFloat());
            break;
        case 16: // ScaleXSpan
            spi.span = new ScaleXSpan(dis.readFloat());
            break;
        case 17: // StyleSpan
            spi.span = new StyleSpan(dis.readInt());
            break;
        case 18: // SubscriptSpan
            spi.span = new SubscriptSpan();
            break;
        case 19: // SuperscriptSpan
            spi.span = new SuperscriptSpan();
            break;
        case 20: // TextAppearanceSpan
            // spi.span = new TextAppearanceSpan();
            break;
        case 21: // TypefaceSpan
            String fontFamily = dis.readUTF();
            spi.span = new TypefaceSpan(fontFamily);
            break;
        case 22: // UrlSpan
            spi.span = new URLSpan(dis.readUTF());
            break;
        default:
            spi.span = read(tag,dis);
    }
    if (spi.span!=null) {
        mWrittenTagsReverse.put(mWrittenTagsReverse.size(), spi.span);
    }
    return spi;
}
 
Example 39
Project: wordpress_app_android   File: WPHtml.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (post != null) {
        if (!post.isLocalDraft())
            return;
    }
    if (!mysteryTagFound) {
        if (tag.equalsIgnoreCase("br")) {
            handleBr(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("p")) {
            handleP(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("div")) {
            handleP(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("em")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(
                    Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("b")) {
            end(mSpannableStringBuilder, Bold.class, new StyleSpan(
                    Typeface.BOLD));
        } else if (tag.equalsIgnoreCase("strong")) {
            end(mSpannableStringBuilder, Bold.class, new StyleSpan(
                    Typeface.BOLD));
        } else if (tag.equalsIgnoreCase("cite")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(
                    Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("dfn")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(
                    Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("i")) {
            end(mSpannableStringBuilder, Italic.class, new StyleSpan(
                    Typeface.ITALIC));
        } else if (tag.equalsIgnoreCase("big")) {
            end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(
                    1.25f));
        } else if (tag.equalsIgnoreCase("small")) {
            end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(
                    0.8f));
        } else if (tag.equalsIgnoreCase("font")) {
            endFont(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("blockquote")) {
            handleP(mSpannableStringBuilder);
            end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
        } else if (tag.equalsIgnoreCase("tt")) {
            end(mSpannableStringBuilder, Monospace.class, new TypefaceSpan(
                    "monospace"));
        } else if (tag.equalsIgnoreCase("a")) {
            endA(mSpannableStringBuilder);
        } else if (tag.equalsIgnoreCase("u")) {
            end(mSpannableStringBuilder, Underline.class,
                    new WPUnderlineSpan());
        } else if (tag.equalsIgnoreCase("sup")) {
            end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
        } else if (tag.equalsIgnoreCase("sub")) {
            end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
        } else if (tag.equalsIgnoreCase("strike")) {
            end(mSpannableStringBuilder, Strike.class,
                    new StrikethroughSpan());
        } else if (tag.length() == 2
                && Character.toLowerCase(tag.charAt(0)) == 'h'
                && tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
            handleP(mSpannableStringBuilder);
            endHeader(mSpannableStringBuilder);
        }
    } else {
        if (tag.equalsIgnoreCase("html") || tag.equalsIgnoreCase("body")) {
            return;
        }

        if (mysteryTagName.equals(tag)) {
            mysteryTagFound = false;
            mSpannableStringBuilder.append(mysteryTagContent);
        }
        // mTagHandler.handleTag(false, tag, mSpannableStringBuilder,
        // mReader,
        // mysteryTagContent);
    }
}
 
Example 40
Project: android-customfonthtml   File: CustomHtml.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
	if (tag.equalsIgnoreCase("br")) {
		handleBr(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("p")) {
		handleP(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("div")) {
		handleP(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("strong")) {
		end(mSpannableStringBuilder, Bold.class, new StyleSpan(
				Typeface.BOLD));
	} else if (tag.equalsIgnoreCase("b")) {
		end(mSpannableStringBuilder, Bold.class, new StyleSpan(
				Typeface.BOLD));
	} else if (tag.equalsIgnoreCase("em")) {
		end(mSpannableStringBuilder, Italic.class, new StyleSpan(
				Typeface.ITALIC));
	} else if (tag.equalsIgnoreCase("cite")) {
		end(mSpannableStringBuilder, Italic.class, new StyleSpan(
				Typeface.ITALIC));
	} else if (tag.equalsIgnoreCase("dfn")) {
		end(mSpannableStringBuilder, Italic.class, new StyleSpan(
				Typeface.ITALIC));
	} else if (tag.equalsIgnoreCase("i")) {
		end(mSpannableStringBuilder, Italic.class, new StyleSpan(
				Typeface.ITALIC));
	} else if (tag.equalsIgnoreCase("big")) {
		end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(
				1.25f));
	} else if (tag.equalsIgnoreCase("small")) {
		end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(
				0.8f));
	} else if (tag.equalsIgnoreCase("font")) {
		endFont(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("blockquote")) {
		handleP(mSpannableStringBuilder);
		end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
	} else if (tag.equalsIgnoreCase("tt")) {
		end(mSpannableStringBuilder, Monospace.class, new TypefaceSpan(
				"monospace"));
	} else if (tag.equalsIgnoreCase("a")) {
		endA(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("u")) {
		end(mSpannableStringBuilder, Underline.class,
				new UnderlineSpan());
	} else if (tag.equalsIgnoreCase("sup")) {
		end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
	} else if (tag.equalsIgnoreCase("sub")) {
		end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
	} else if (tag.length() == 2
			&& Character.toLowerCase(tag.charAt(0)) == 'h'
			&& tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
		handleP(mSpannableStringBuilder);
		endHeader(mSpannableStringBuilder);
	} else if (mTagHandler != null) {
		mTagHandler.handleTag(false, tag, mSpannableStringBuilder,
				mReader);
	}
}
 
Example 41
Project: soulissapp   File: NotificationPresets.java   Source Code and License 4 votes vote down vote up
public Notification buildStyleNotification(Context context) {
    Notification.Builder builder = buildBasicNotification(context);

    Notification.BigTextStyle style = new Notification.BigTextStyle();

    SpannableStringBuilder title = new SpannableStringBuilder();
    appendStyled(title, "Stylized", new StyleSpan(Typeface.BOLD_ITALIC));
    title.append(" title");
    SpannableStringBuilder text = new SpannableStringBuilder("Stylized text: ");
    appendStyled(text, "C", new ForegroundColorSpan(Color.RED));
    appendStyled(text, "O", new ForegroundColorSpan(Color.GREEN));
    appendStyled(text, "L", new ForegroundColorSpan(Color.BLUE));
    appendStyled(text, "O", new ForegroundColorSpan(Color.YELLOW));
    appendStyled(text, "R", new ForegroundColorSpan(Color.MAGENTA));
    appendStyled(text, "S", new ForegroundColorSpan(Color.CYAN));
    text.append("; ");
    appendStyled(text, "1.25x size", new RelativeSizeSpan(1.25f));
    text.append("; ");
    appendStyled(text, "0.75x size", new RelativeSizeSpan(0.75f));
    text.append("; ");
    appendStyled(text, "underline", new UnderlineSpan());
    text.append("; ");
    appendStyled(text, "strikethrough", new StrikethroughSpan());
    text.append("; ");
    appendStyled(text, "bold", new StyleSpan(Typeface.BOLD));
    text.append("; ");
    appendStyled(text, "italic", new StyleSpan(Typeface.ITALIC));
    text.append("; ");
    appendStyled(text, "sans-serif-thin", new TypefaceSpan("sans-serif-thin"));
    text.append("; ");
    appendStyled(text, "monospace", new TypefaceSpan("monospace"));
    text.append("; ");
    appendStyled(text, "sub", new SubscriptSpan());
    text.append("script");
    appendStyled(text, "super", new SuperscriptSpan());

    style.setBigContentTitle(title);
    style.bigText(text);

    builder.setStyle(style);
    return builder.build();
}
 
Example 42
Project: v2ex-android   File: Html.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP(mSpannableStringBuilder);
        end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class,
                new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder, mImageGetter);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP(mSpannableStringBuilder);
        endHeader(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("script")) {
        endScript(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("iframe")) {
        endIframe(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("button")) {
        endButton(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("code")) {
        end(mSpannableStringBuilder, Code.class, new BackgroundColorSpan(0xFFEEEEEE));
    } else if (tag.equalsIgnoreCase("pre")) {
        mInPreTag = false;
        end(mSpannableStringBuilder, Pre.class, new BackgroundColorSpan(0xFFEEEEEE));
    } else if (tag.equalsIgnoreCase("li")) {
        mSpannableStringBuilder.append('\n');
    }
}
 
Example 43
Project: RxAndroidBootstrap   File: BabushkaText.java   Source Code and License 4 votes vote down vote up
private void applySpannablesTo(Piece aPiece, SpannableString finalString, int start, int end) {

        if(aPiece.subscript) {
            finalString.setSpan(new SubscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.superscript) {
            finalString.setSpan(new SuperscriptSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.strike) {
            finalString.setSpan(new StrikethroughSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        if(aPiece.underline) {
            finalString.setSpan(new UnderlineSpan(), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }

        // style
        finalString.setSpan(new StyleSpan(aPiece.style), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // absolute text size
        finalString.setSpan(new AbsoluteSizeSpan(aPiece.textSize), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // relative text size
        finalString.setSpan(new RelativeSizeSpan(aPiece.textSizeRelative), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // text color
        finalString.setSpan(new ForegroundColorSpan(aPiece.textColor), start, end,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

        // background color
        if(aPiece.backgroundColor != -1) {
            finalString.setSpan(new BackgroundColorSpan(aPiece.backgroundColor), start, end,
                    Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    }
 
Example 44
Project: love   File: Html.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
	if (tag.equalsIgnoreCase("br")) {
		handleBr(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("p")) {
		handleP(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("div")) {
		handleP(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("strong")) {
		end(mSpannableStringBuilder, Bold.class, new StyleSpan(
				Typeface.BOLD));
	} else if (tag.equalsIgnoreCase("b")) {
		end(mSpannableStringBuilder, Bold.class, new StyleSpan(
				Typeface.BOLD));
	} else if (tag.equalsIgnoreCase("em")) {
		endEm(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("cite")) {
		end(mSpannableStringBuilder, Italic.class, new StyleSpan(
				Typeface.ITALIC));
	} else if (tag.equalsIgnoreCase("dfn")) {
		end(mSpannableStringBuilder, Italic.class, new StyleSpan(
				Typeface.ITALIC));
	} else if (tag.equalsIgnoreCase("i")) {
		end(mSpannableStringBuilder, Italic.class, new StyleSpan(
				Typeface.ITALIC));
	} else if (tag.equalsIgnoreCase("big")) {
		end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
	} else if (tag.equalsIgnoreCase("small")) {
		end(mSpannableStringBuilder, Small.class,
				new RelativeSizeSpan(0.8f));
	} else if (tag.equalsIgnoreCase("font")) {
		endFont(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("blockquote")) {
		handleP(mSpannableStringBuilder);
		end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
	} else if (tag.equalsIgnoreCase("tt")) {
		end(mSpannableStringBuilder, Monospace.class, new TypefaceSpan(
				"monospace"));
	} else if (tag.equalsIgnoreCase("a")) {
		endA(mSpannableStringBuilder);
	} else if (tag.equalsIgnoreCase("u")) {
		end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
	} else if (tag.equalsIgnoreCase("sup")) {
		end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
	} else if (tag.equalsIgnoreCase("sub")) {
		end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
	} else if (tag.length() == 2
			&& Character.toLowerCase(tag.charAt(0)) == 'h'
			&& tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
		handleP(mSpannableStringBuilder);
		endHeader(mSpannableStringBuilder);
	} else if (mTagHandler != null) {
		mTagHandler.handleTag(false, tag, mSpannableStringBuilder, mReader);
	}
}
 
Example 45
Project: shikimori   File: HtmlToSpannedConverter.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP(mSpannableStringBuilder);
        end(mSpannableStringBuilder, Blockquote.class, new QuoteSpanShiki(Color.GRAY));
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class,
                new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP(mSpannableStringBuilder);
        endHeader(mSpannableStringBuilder);
    } else if (mTagHandler != null) {
        mTagHandler.handleTag(false, tag, mSpannableStringBuilder, mReader);
    }
}
 
Example 46
Project: Overchan-Android   File: HtmlParser.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        handleP(mSpannableStringBuilder, mStartLength, mLastPTagLength);
    } else if (tag.equalsIgnoreCase("div")) {
        handleP(mSpannableStringBuilder, mStartLength, mLastPTagLength);
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("s")) {
        end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("strike")) {
        end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("del")) {
        end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());    
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP(mSpannableStringBuilder, mStartLength, mLastPTagLength);
        endBlockquote(mSpannableStringBuilder, mColors);
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class, new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("code")) {
        end(mSpannableStringBuilder, Monospace.class, new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("ul")) {
        if (!mListTags.isEmpty()) mListTags.removeFirst();
    } else if (tag.equalsIgnoreCase("ol")) {
        if (!mListTags.isEmpty()) mListTags.removeFirst();
    } else if (tag.equalsIgnoreCase("li")) {
        //обрабатывается только открывающийся <li>
    } else if (tag.equalsIgnoreCase("tr")) {
        handleTr(mSpannableStringBuilder, false);
    } else if (tag.equalsIgnoreCase("td")) {
        handleTd(mSpannableStringBuilder, false);
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP(mSpannableStringBuilder, mStartLength, mLastPTagLength);
        endHeader(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("span")) {
        endSpan(mSpannableStringBuilder, mColors, mOpenSpoilers);
    } else if (tag.equalsIgnoreCase("aibquote")) {
        end(mSpannableStringBuilder, Aibquote.class, new ForegroundColorSpan(mColors != null ? mColors.quoteForeground : Color.GREEN));
    } else if (tag.equalsIgnoreCase("aibspoiler")) {
        endAibspoiler(mSpannableStringBuilder, mColors, mOpenSpoilers);
    }/* else if (mTagHandler != null) {
        mTagHandler.handleTag(false, tag, mSpannableStringBuilder, mReader);
    }*/
}
 
Example 47
Project: FanFictionReader   File: HtmlParser.java   Source Code and License 4 votes vote down vote up
/***
 * Handles the tailing tag of every element
 *
 * @param element
 */
private void handleEndTag(Element element) {
	final Attributes attributes = element.attributes();
	if (attributes.hasKey("style"))
		handleCssEnd(attributes.get("style"));

	final String tag = element.tagName();
	switch (tag.toLowerCase()) {
		case "p":
		case "div":
			handleP();
			break;
		case "b":
		case "strong":
			endSpan(new StyleSpan(Typeface.BOLD));
			break;
		case "em":
		case "cite":
		case "dfn":
		case "i":
			endSpan(new StyleSpan(Typeface.ITALIC));
			break;
		case "big":
			endSpan(new RelativeSizeSpan(1.25f));
			break;
		case "small":
			endSpan(new RelativeSizeSpan(0.8f));
			break;
		case "blockquote":
			endSpan(new QuoteSpan());
			handleP();
			break;
		case "tt":
			endSpan(new TypefaceSpan("monospace"));
			break;
		case "u":
			endSpan(new UnderlineSpan());
			break;
		case "sub":
			endSpan(new SubscriptSpan());
			break;
		case "sup":
			endSpan(new SuperscriptSpan());
			break;
		case "a":
			handleLink(element.absUrl("href"));
	}
}
 
Example 48
Project: AndroidSpan   File: SpanOptions.java   Source Code and License 4 votes vote down vote up
public SpanOptions addSubscriptSpan() {
    SubscriptSpan span = new SubscriptSpan();
    listSpan.add(span);
    return this;
}
 
Example 49
Project: Capitolo6   File: NotificationPresets.java   Source Code and License 4 votes vote down vote up
@Override
public Notification buildNotification(Context context) {
    Notification.Builder builder = buildBasicNotification(context);

    Notification.BigTextStyle style = new Notification.BigTextStyle();

    SpannableStringBuilder title = new SpannableStringBuilder();
    appendStyled(title, "Stylized", new StyleSpan(Typeface.BOLD_ITALIC));
    title.append(" title");
    SpannableStringBuilder text = new SpannableStringBuilder("Stylized text: ");
    appendStyled(text, "C", new ForegroundColorSpan(Color.RED));
    appendStyled(text, "O", new ForegroundColorSpan(Color.GREEN));
    appendStyled(text, "L", new ForegroundColorSpan(Color.BLUE));
    appendStyled(text, "O", new ForegroundColorSpan(Color.YELLOW));
    appendStyled(text, "R", new ForegroundColorSpan(Color.MAGENTA));
    appendStyled(text, "S", new ForegroundColorSpan(Color.CYAN));
    text.append("; ");
    appendStyled(text, "1.25x size", new RelativeSizeSpan(1.25f));
    text.append("; ");
    appendStyled(text, "0.75x size", new RelativeSizeSpan(0.75f));
    text.append("; ");
    appendStyled(text, "underline", new UnderlineSpan());
    text.append("; ");
    appendStyled(text, "strikethrough", new StrikethroughSpan());
    text.append("; ");
    appendStyled(text, "bold", new StyleSpan(Typeface.BOLD));
    text.append("; ");
    appendStyled(text, "italic", new StyleSpan(Typeface.ITALIC));
    text.append("; ");
    appendStyled(text, "sans-serif-thin", new TypefaceSpan("sans-serif-thin"));
    text.append("; ");
    appendStyled(text, "monospace", new TypefaceSpan("monospace"));
    text.append("; ");
    appendStyled(text, "sub", new SubscriptSpan());
    text.append("script");
    appendStyled(text, "super", new SuperscriptSpan());

    style.setBigContentTitle(title);
    style.bigText(text);

    builder.setStyle(style);
    return builder.build();
}
 
Example 50
Project: Capitolo6   File: NotificationPresets.java   Source Code and License 4 votes vote down vote up
@Override
public Notification[] buildNotifications(Context context, BuildOptions options) {
    NotificationCompat.BigTextStyle style = new NotificationCompat.BigTextStyle();

    SpannableStringBuilder title = new SpannableStringBuilder();
    appendStyled(title, "Stylized", new StyleSpan(Typeface.BOLD_ITALIC));
    title.append(" title");
    SpannableStringBuilder text = new SpannableStringBuilder("Stylized text: ");
    appendStyled(text, "C", new ForegroundColorSpan(Color.RED));
    appendStyled(text, "O", new ForegroundColorSpan(Color.GREEN));
    appendStyled(text, "L", new ForegroundColorSpan(Color.BLUE));
    appendStyled(text, "O", new ForegroundColorSpan(Color.YELLOW));
    appendStyled(text, "R", new ForegroundColorSpan(Color.MAGENTA));
    appendStyled(text, "S", new ForegroundColorSpan(Color.CYAN));
    text.append("; ");
    appendStyled(text, "1.25x size", new RelativeSizeSpan(1.25f));
    text.append("; ");
    appendStyled(text, "0.75x size", new RelativeSizeSpan(0.75f));
    text.append("; ");
    appendStyled(text, "underline", new UnderlineSpan());
    text.append("; ");
    appendStyled(text, "strikethrough", new StrikethroughSpan());
    text.append("; ");
    appendStyled(text, "bold", new StyleSpan(Typeface.BOLD));
    text.append("; ");
    appendStyled(text, "italic", new StyleSpan(Typeface.ITALIC));
    text.append("; ");
    appendStyled(text, "sans-serif-thin", new TypefaceSpan("sans-serif-thin"));
    text.append("; ");
    appendStyled(text, "monospace", new TypefaceSpan("monospace"));
    text.append("; ");
    appendStyled(text, "sub", new SubscriptSpan());
    text.append("script");
    appendStyled(text, "super", new SuperscriptSpan());

    style.setBigContentTitle(title);
    style.bigText(text);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
            .setStyle(style);
    NotificationCompat.WearableExtender wearableOptions =
            new NotificationCompat.WearableExtender();
    applyBasicOptions(context, builder, wearableOptions, options);
    builder.extend(wearableOptions);
    return new Notification[] { builder.build() };
}
 
Example 51
Project: cwac-richtextutils   File: SubscriptSpanTagHandler.java   Source Code and License 4 votes vote down vote up
public Class getSupportedCharacterStyle() {
  return(SubscriptSpan.class);
}
 
Example 52
Project: cwac-richtextutils   File: SubscriptSpanTagHandler.java   Source Code and License 4 votes vote down vote up
@Override
public SubscriptSpan buildSpanForTag(String name, Attributes a, String context) {
  return(new SubscriptSpan());
}
 
Example 53
Project: trezor-android   File: Html.java   Source Code and License 4 votes vote down vote up
protected void handleEndTag(String tag) {
	if (mTagHandler != null && mTagHandler.handleEndTag(tag, mSpannableStringBuilder, mReader)) {
		// 
	}
	else if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP(mSpannableStringBuilder);
        end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class,
                new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP(mSpannableStringBuilder);
        endHeader(mSpannableStringBuilder);
    } 
}
 
Example 54
Project: spanalot   File: Spanalot.java   Source Code and License 4 votes vote down vote up
/**
 * A convenience function to create a new {@link android.text.style.SubscriptSpan}.
 */
public static SubscriptSpan subscript() {
    return new SubscriptSpan();
}
 
Example 55
Project: AndroidWearable-Samples   File: NotificationPresets.java   Source Code and License 4 votes vote down vote up
@Override
public Notification buildNotification(Context context) {
    Notification.Builder builder = buildBasicNotification(context);

    Notification.BigTextStyle style = new Notification.BigTextStyle();

    SpannableStringBuilder title = new SpannableStringBuilder();
    appendStyled(title, "Stylized", new StyleSpan(Typeface.BOLD_ITALIC));
    title.append(" title");
    SpannableStringBuilder text = new SpannableStringBuilder("Stylized text: ");
    appendStyled(text, "C", new ForegroundColorSpan(Color.RED));
    appendStyled(text, "O", new ForegroundColorSpan(Color.GREEN));
    appendStyled(text, "L", new ForegroundColorSpan(Color.BLUE));
    appendStyled(text, "O", new ForegroundColorSpan(Color.YELLOW));
    appendStyled(text, "R", new ForegroundColorSpan(Color.MAGENTA));
    appendStyled(text, "S", new ForegroundColorSpan(Color.CYAN));
    text.append("; ");
    appendStyled(text, "1.25x size", new RelativeSizeSpan(1.25f));
    text.append("; ");
    appendStyled(text, "0.75x size", new RelativeSizeSpan(0.75f));
    text.append("; ");
    appendStyled(text, "underline", new UnderlineSpan());
    text.append("; ");
    appendStyled(text, "strikethrough", new StrikethroughSpan());
    text.append("; ");
    appendStyled(text, "bold", new StyleSpan(Typeface.BOLD));
    text.append("; ");
    appendStyled(text, "italic", new StyleSpan(Typeface.ITALIC));
    text.append("; ");
    appendStyled(text, "sans-serif-thin", new TypefaceSpan("sans-serif-thin"));
    text.append("; ");
    appendStyled(text, "monospace", new TypefaceSpan("monospace"));
    text.append("; ");
    appendStyled(text, "sub", new SubscriptSpan());
    text.append("script");
    appendStyled(text, "super", new SuperscriptSpan());

    style.setBigContentTitle(title);
    style.bigText(text);

    builder.setStyle(style);
    return builder.build();
}
 
Example 56
Project: AndroidWearable-Samples   File: NotificationPresets.java   Source Code and License 4 votes vote down vote up
@Override
public Notification[] buildNotifications(Context context, BuildOptions options) {
    NotificationCompat.BigTextStyle style = new NotificationCompat.BigTextStyle();

    SpannableStringBuilder title = new SpannableStringBuilder();
    appendStyled(title, "Stylized", new StyleSpan(Typeface.BOLD_ITALIC));
    title.append(" title");
    SpannableStringBuilder text = new SpannableStringBuilder("Stylized text: ");
    appendStyled(text, "C", new ForegroundColorSpan(Color.RED));
    appendStyled(text, "O", new ForegroundColorSpan(Color.GREEN));
    appendStyled(text, "L", new ForegroundColorSpan(Color.BLUE));
    appendStyled(text, "O", new ForegroundColorSpan(Color.YELLOW));
    appendStyled(text, "R", new ForegroundColorSpan(Color.MAGENTA));
    appendStyled(text, "S", new ForegroundColorSpan(Color.CYAN));
    text.append("; ");
    appendStyled(text, "1.25x size", new RelativeSizeSpan(1.25f));
    text.append("; ");
    appendStyled(text, "0.75x size", new RelativeSizeSpan(0.75f));
    text.append("; ");
    appendStyled(text, "underline", new UnderlineSpan());
    text.append("; ");
    appendStyled(text, "strikethrough", new StrikethroughSpan());
    text.append("; ");
    appendStyled(text, "bold", new StyleSpan(Typeface.BOLD));
    text.append("; ");
    appendStyled(text, "italic", new StyleSpan(Typeface.ITALIC));
    text.append("; ");
    appendStyled(text, "sans-serif-thin", new TypefaceSpan("sans-serif-thin"));
    text.append("; ");
    appendStyled(text, "monospace", new TypefaceSpan("monospace"));
    text.append("; ");
    appendStyled(text, "sub", new SubscriptSpan());
    text.append("script");
    appendStyled(text, "super", new SuperscriptSpan());

    style.setBigContentTitle(title);
    style.bigText(text);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
            .setStyle(style);
    NotificationCompat.WearableExtender wearableOptions =
            new NotificationCompat.WearableExtender();
    applyBasicOptions(context, builder, wearableOptions, options);
    builder.extend(wearableOptions);
    return new Notification[] { builder.build() };
}
 
Example 57
Project: EhViewer   File: Html.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
    if (tag.equalsIgnoreCase("br")) {
        handleBr(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("p")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("div")) {
        handleP(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("strong")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("b")) {
        end(mSpannableStringBuilder, Bold.class, new StyleSpan(Typeface.BOLD));
    } else if (tag.equalsIgnoreCase("em")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("cite")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("dfn")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("i")) {
        end(mSpannableStringBuilder, Italic.class, new StyleSpan(Typeface.ITALIC));
    } else if (tag.equalsIgnoreCase("big")) {
        end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(1.25f));
    } else if (tag.equalsIgnoreCase("small")) {
        end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(0.8f));
    } else if (tag.equalsIgnoreCase("font")) {
        endFont(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("blockquote")) {
        handleP(mSpannableStringBuilder);
        end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
    } else if (tag.equalsIgnoreCase("tt")) {
        end(mSpannableStringBuilder, Monospace.class,
                new TypefaceSpan("monospace"));
    } else if (tag.equalsIgnoreCase("a")) {
        endA(mSpannableStringBuilder);
    } else if (tag.equalsIgnoreCase("u")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("ins")) {
        end(mSpannableStringBuilder, Underline.class, new UnderlineSpan());
    } else if (tag.equalsIgnoreCase("strike")) {
        end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("s")) {
        end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("del")) {
        end(mSpannableStringBuilder, Strike.class, new StrikethroughSpan());
    } else if (tag.equalsIgnoreCase("sup")) {
        end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
    } else if (tag.equalsIgnoreCase("sub")) {
        end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
    } else if (tag.length() == 2 &&
            Character.toLowerCase(tag.charAt(0)) == 'h' &&
            tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
        handleP(mSpannableStringBuilder);
        endHeader(mSpannableStringBuilder);
    } else if (mTagHandler != null) {
        mTagHandler.handleTag(false, tag, mSpannableStringBuilder, mReader);
    }
}
 
Example 58
Project: phimpme-android-v1   File: WPHtml.java   Source Code and License 4 votes vote down vote up
private void handleEndTag(String tag) {
	if (post != null) {
		if (!post.isLocalDraft())
			return;
	}
	if (!mysteryTagFound) {
		if (tag.equalsIgnoreCase("br")) {
			handleBr(mSpannableStringBuilder);
		} else if (tag.equalsIgnoreCase("p")) {
			handleP(mSpannableStringBuilder);
		} else if (tag.equalsIgnoreCase("div")) {
			handleP(mSpannableStringBuilder);
		} else if (tag.equalsIgnoreCase("em")) {
			end(mSpannableStringBuilder, Italic.class, new StyleSpan(
					Typeface.ITALIC));
		} else if (tag.equalsIgnoreCase("b")) {
			end(mSpannableStringBuilder, Bold.class, new StyleSpan(
					Typeface.BOLD));
		} else if (tag.equalsIgnoreCase("strong")) {
			end(mSpannableStringBuilder, Bold.class, new StyleSpan(
					Typeface.BOLD));
		} else if (tag.equalsIgnoreCase("cite")) {
			end(mSpannableStringBuilder, Italic.class, new StyleSpan(
					Typeface.ITALIC));
		} else if (tag.equalsIgnoreCase("dfn")) {
			end(mSpannableStringBuilder, Italic.class, new StyleSpan(
					Typeface.ITALIC));
		} else if (tag.equalsIgnoreCase("i")) {
			end(mSpannableStringBuilder, Italic.class, new StyleSpan(
					Typeface.ITALIC));
		} else if (tag.equalsIgnoreCase("big")) {
			end(mSpannableStringBuilder, Big.class, new RelativeSizeSpan(
					1.25f));
		} else if (tag.equalsIgnoreCase("small")) {
			end(mSpannableStringBuilder, Small.class, new RelativeSizeSpan(
					0.8f));
		} else if (tag.equalsIgnoreCase("font")) {
			endFont(mSpannableStringBuilder);
		} else if (tag.equalsIgnoreCase("blockquote")) {
			handleP(mSpannableStringBuilder);
			end(mSpannableStringBuilder, Blockquote.class, new QuoteSpan());
		} else if (tag.equalsIgnoreCase("tt")) {
			end(mSpannableStringBuilder, Monospace.class, new TypefaceSpan(
					"monospace"));
		} else if (tag.equalsIgnoreCase("a")) {
			endA(mSpannableStringBuilder);
		} else if (tag.equalsIgnoreCase("u")) {
			end(mSpannableStringBuilder, Underline.class,
					new WPUnderlineSpan());
		} else if (tag.equalsIgnoreCase("sup")) {
			end(mSpannableStringBuilder, Super.class, new SuperscriptSpan());
		} else if (tag.equalsIgnoreCase("sub")) {
			end(mSpannableStringBuilder, Sub.class, new SubscriptSpan());
		} else if (tag.equalsIgnoreCase("strike")) {
			end(mSpannableStringBuilder, Strike.class,
					new StrikethroughSpan());
		} else if (tag.length() == 2
				&& Character.toLowerCase(tag.charAt(0)) == 'h'
				&& tag.charAt(1) >= '1' && tag.charAt(1) <= '6') {
			handleP(mSpannableStringBuilder);
			endHeader(mSpannableStringBuilder);
		}
	} else {

		if (tag.equalsIgnoreCase("html") || tag.equalsIgnoreCase("body")) {
			return;
		}

		if (mysteryTagName.equals(tag)) {
			mysteryTagFound = false;
			mSpannableStringBuilder.append(mysteryTagContent);
		}
		// mTagHandler.handleTag(false, tag, mSpannableStringBuilder,
		// mReader,
		// mysteryTagContent);
	}
}
 
Example 59
Project: android-Notifications   File: NotificationPresets.java   Source Code and License 4 votes vote down vote up
@Override
public Notification buildNotification(Context context) {
    Notification.Builder builder = buildBasicNotification(context);

    Notification.BigTextStyle style = new Notification.BigTextStyle();

    SpannableStringBuilder title = new SpannableStringBuilder();
    appendStyled(title, "Stylized", new StyleSpan(Typeface.BOLD_ITALIC));
    title.append(" title");
    SpannableStringBuilder text = new SpannableStringBuilder("Stylized text: ");
    appendStyled(text, "C", new ForegroundColorSpan(Color.RED));
    appendStyled(text, "O", new ForegroundColorSpan(Color.GREEN));
    appendStyled(text, "L", new ForegroundColorSpan(Color.BLUE));
    appendStyled(text, "O", new ForegroundColorSpan(Color.YELLOW));
    appendStyled(text, "R", new ForegroundColorSpan(Color.MAGENTA));
    appendStyled(text, "S", new ForegroundColorSpan(Color.CYAN));
    text.append("; ");
    appendStyled(text, "1.25x size", new RelativeSizeSpan(1.25f));
    text.append("; ");
    appendStyled(text, "0.75x size", new RelativeSizeSpan(0.75f));
    text.append("; ");
    appendStyled(text, "underline", new UnderlineSpan());
    text.append("; ");
    appendStyled(text, "strikethrough", new StrikethroughSpan());
    text.append("; ");
    appendStyled(text, "bold", new StyleSpan(Typeface.BOLD));
    text.append("; ");
    appendStyled(text, "italic", new StyleSpan(Typeface.ITALIC));
    text.append("; ");
    appendStyled(text, "sans-serif-thin", new TypefaceSpan("sans-serif-thin"));
    text.append("; ");
    appendStyled(text, "monospace", new TypefaceSpan("monospace"));
    text.append("; ");
    appendStyled(text, "sub", new SubscriptSpan());
    text.append("script");
    appendStyled(text, "super", new SuperscriptSpan());

    style.setBigContentTitle(title);
    style.bigText(text);

    builder.setStyle(style);
    return builder.build();
}
 
Example 60
Project: android-Notifications   File: NotificationPresets.java   Source Code and License 4 votes vote down vote up
@Override
public Notification[] buildNotifications(Context context, BuildOptions options) {
    NotificationCompat.BigTextStyle style = new NotificationCompat.BigTextStyle();

    SpannableStringBuilder title = new SpannableStringBuilder();
    appendStyled(title, "Stylized", new StyleSpan(Typeface.BOLD_ITALIC));
    title.append(" title");
    SpannableStringBuilder text = new SpannableStringBuilder("Stylized text: ");
    appendStyled(text, "C", new ForegroundColorSpan(Color.RED));
    appendStyled(text, "O", new ForegroundColorSpan(Color.GREEN));
    appendStyled(text, "L", new ForegroundColorSpan(Color.BLUE));
    appendStyled(text, "O", new ForegroundColorSpan(Color.YELLOW));
    appendStyled(text, "R", new ForegroundColorSpan(Color.MAGENTA));
    appendStyled(text, "S", new ForegroundColorSpan(Color.CYAN));
    text.append("; ");
    appendStyled(text, "1.25x size", new RelativeSizeSpan(1.25f));
    text.append("; ");
    appendStyled(text, "0.75x size", new RelativeSizeSpan(0.75f));
    text.append("; ");
    appendStyled(text, "underline", new UnderlineSpan());
    text.append("; ");
    appendStyled(text, "strikethrough", new StrikethroughSpan());
    text.append("; ");
    appendStyled(text, "bold", new StyleSpan(Typeface.BOLD));
    text.append("; ");
    appendStyled(text, "italic", new StyleSpan(Typeface.ITALIC));
    text.append("; ");
    appendStyled(text, "sans-serif-thin", new TypefaceSpan("sans-serif-thin"));
    text.append("; ");
    appendStyled(text, "monospace", new TypefaceSpan("monospace"));
    text.append("; ");
    appendStyled(text, "sub", new SubscriptSpan());
    text.append("script");
    appendStyled(text, "super", new SuperscriptSpan());

    style.setBigContentTitle(title);
    style.bigText(text);

    NotificationCompat.Builder builder = new NotificationCompat.Builder(context)
            .setStyle(style);
    NotificationCompat.WearableExtender wearableOptions =
            new NotificationCompat.WearableExtender();
    applyBasicOptions(context, builder, wearableOptions, options);
    builder.extend(wearableOptions);
    return new Notification[] { builder.build() };
}