Search in sources :

Example 11 with BackgroundColorSpan

use of android.text.style.BackgroundColorSpan in project android_frameworks_base by crdroidandroid.

the class ViewPropertyAlphaActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.view_properties);
    getWindow().getDecorView().postDelayed(new Runnable() {

        @Override
        public void run() {
            startAnim(R.id.button);
            startAnim(R.id.textview);
            startAnim(R.id.spantext);
            startAnim(R.id.edittext);
            startAnim(R.id.selectedtext);
            startAnim(R.id.textviewbackground);
            startAnim(R.id.layout);
            startAnim(R.id.imageview);
            startAnim(myViewAlphaDefault);
            startAnim(myViewAlphaHandled);
            EditText selectedText = (EditText) findViewById(R.id.selectedtext);
            selectedText.setSelection(3, 8);
        }
    }, 2000);
    Button invalidator = (Button) findViewById(R.id.invalidateButton);
    invalidator.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            findViewById(R.id.textview).invalidate();
            findViewById(R.id.spantext).invalidate();
        }
    });
    TextView textView = (TextView) findViewById(R.id.spantext);
    if (textView != null) {
        SpannableStringBuilder text = new SpannableStringBuilder("Now this is a short text message with spans");
        text.setSpan(new BackgroundColorSpan(Color.RED), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        text.setSpan(new ForegroundColorSpan(Color.BLUE), 4, 9, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        text.setSpan(new SuggestionSpan(this, new String[] { "longer" }, 3), 11, 16, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        text.setSpan(new UnderlineSpan(), 17, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        text.setSpan(new ImageSpan(this, R.drawable.icon), 21, 22, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        textView.setText(text);
    }
    LinearLayout container = (LinearLayout) findViewById(R.id.container);
    myViewAlphaDefault = new MyView(this, false);
    myViewAlphaDefault.setLayoutParams(new LinearLayout.LayoutParams(75, 75));
    container.addView(myViewAlphaDefault);
    myViewAlphaHandled = new MyView(this, true);
    myViewAlphaHandled.setLayoutParams(new LinearLayout.LayoutParams(75, 75));
    container.addView(myViewAlphaHandled);
}
Also used : EditText(android.widget.EditText) ForegroundColorSpan(android.text.style.ForegroundColorSpan) TextView(android.widget.TextView) View(android.view.View) UnderlineSpan(android.text.style.UnderlineSpan) Button(android.widget.Button) TextView(android.widget.TextView) SuggestionSpan(android.text.style.SuggestionSpan) SpannableStringBuilder(android.text.SpannableStringBuilder) BackgroundColorSpan(android.text.style.BackgroundColorSpan) LinearLayout(android.widget.LinearLayout) ImageSpan(android.text.style.ImageSpan)

Example 12 with BackgroundColorSpan

use of android.text.style.BackgroundColorSpan in project cw-omnibus by commonsguy.

the class RichTextSearchActivity method searchFor.

private void searchFor(String text) {
    TextView prose = (TextView) findViewById(R.id.prose);
    Spannable raw = new SpannableString(prose.getText());
    BackgroundColorSpan[] spans = raw.getSpans(0, raw.length(), BackgroundColorSpan.class);
    for (BackgroundColorSpan span : spans) {
        raw.removeSpan(span);
    }
    int index = TextUtils.indexOf(raw, text);
    while (index >= 0) {
        raw.setSpan(new BackgroundColorSpan(0xFF8B008B), index, index + text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        index = TextUtils.indexOf(raw, text, index + text.length());
    }
    prose.setText(raw);
}
Also used : SpannableString(android.text.SpannableString) TextView(android.widget.TextView) Spannable(android.text.Spannable) BackgroundColorSpan(android.text.style.BackgroundColorSpan)

Example 13 with BackgroundColorSpan

use of android.text.style.BackgroundColorSpan in project TextViewWithLinks by fredericojssilva.

the class TextViewWithLinks method setLinkColors.

public void setLinkColors(int linkColor, int backgroundLinkColor) {
    color = new BackgroundColorSpan(backgroundLinkColor);
    this.setLinkTextColor(linkColor);
}
Also used : BackgroundColorSpan(android.text.style.BackgroundColorSpan)

Example 14 with BackgroundColorSpan

use of android.text.style.BackgroundColorSpan in project Notes by MiCode.

the class NoteEditActivity method getHighlightQueryResult.

private Spannable getHighlightQueryResult(String fullText, String userQuery) {
    SpannableString spannable = new SpannableString(fullText == null ? "" : fullText);
    if (!TextUtils.isEmpty(userQuery)) {
        mPattern = Pattern.compile(userQuery);
        Matcher m = mPattern.matcher(fullText);
        int start = 0;
        while (m.find(start)) {
            spannable.setSpan(new BackgroundColorSpan(this.getResources().getColor(R.color.user_query_highlight)), m.start(), m.end(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
            start = m.end();
        }
    }
    return spannable;
}
Also used : SpannableString(android.text.SpannableString) Matcher(java.util.regex.Matcher) Paint(android.graphics.Paint) BackgroundColorSpan(android.text.style.BackgroundColorSpan)

Example 15 with BackgroundColorSpan

use of android.text.style.BackgroundColorSpan in project CircleDemo by Naoki2015.

the class CircleMovementMethod method onTouchEvent.

public boolean onTouchEvent(TextView widget, Spannable buffer, MotionEvent event) {
    int action = event.getAction();
    if (action == MotionEvent.ACTION_DOWN) {
        int x = (int) event.getX();
        int y = (int) event.getY();
        x -= widget.getTotalPaddingLeft();
        y -= widget.getTotalPaddingTop();
        x += widget.getScrollX();
        y += widget.getScrollY();
        Layout layout = widget.getLayout();
        int line = layout.getLineForVertical(y);
        int off = layout.getOffsetForHorizontal(line, x);
        mClickLinks = buffer.getSpans(off, off, ClickableSpan.class);
        if (mClickLinks.length > 0) {
            // 点击的是Span区域,不要把点击事件传递
            setPassToTv(false);
            Selection.setSelection(buffer, buffer.getSpanStart(mClickLinks[0]), buffer.getSpanEnd(mClickLinks[0]));
            //设置点击区域的背景色
            mBgSpan = new BackgroundColorSpan(clickableSpanBgClor);
            buffer.setSpan(mBgSpan, buffer.getSpanStart(mClickLinks[0]), buffer.getSpanEnd(mClickLinks[0]), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        } else {
            setPassToTv(true);
            // textview选中效果
            widget.setBackgroundColor(textViewBgColor);
        }
    } else if (action == MotionEvent.ACTION_UP) {
        if (mClickLinks.length > 0) {
            mClickLinks[0].onClick(widget);
            if (mBgSpan != null) {
                //移除点击时设置的背景span
                buffer.removeSpan(mBgSpan);
            }
        } else {
        }
        Selection.removeSelection(buffer);
        widget.setBackgroundResource(R.color.transparent);
    } else if (action == MotionEvent.ACTION_MOVE) {
    //这种情况不用做处理
    } else {
        if (mBgSpan != null) {
            //移除点击时设置的背景span
            buffer.removeSpan(mBgSpan);
        }
        widget.setBackgroundResource(R.color.transparent);
    }
    return Touch.onTouchEvent(widget, buffer, event);
}
Also used : Layout(android.text.Layout) ClickableSpan(android.text.style.ClickableSpan) BackgroundColorSpan(android.text.style.BackgroundColorSpan)

Aggregations

BackgroundColorSpan (android.text.style.BackgroundColorSpan)30 ForegroundColorSpan (android.text.style.ForegroundColorSpan)18 ImageSpan (android.text.style.ImageSpan)14 StrikethroughSpan (android.text.style.StrikethroughSpan)11 UnderlineSpan (android.text.style.UnderlineSpan)11 SpannableStringBuilder (android.text.SpannableStringBuilder)10 TextView (android.widget.TextView)10 SpannableString (android.text.SpannableString)7 AbsoluteSizeSpan (android.text.style.AbsoluteSizeSpan)6 RelativeSizeSpan (android.text.style.RelativeSizeSpan)6 StyleSpan (android.text.style.StyleSpan)6 Button (android.widget.Button)6 LinearLayout (android.widget.LinearLayout)6 Application (android.app.Application)5 CharacterStyle (android.text.style.CharacterStyle)5 SubscriptSpan (android.text.style.SubscriptSpan)5 SuggestionSpan (android.text.style.SuggestionSpan)5 SuperscriptSpan (android.text.style.SuperscriptSpan)5 TypefaceSpan (android.text.style.TypefaceSpan)5 URLSpan (android.text.style.URLSpan)5