當前位置: 首頁>>代碼示例>>Java>>正文


Java LeadingMarginSpan類代碼示例

本文整理匯總了Java中android.text.style.LeadingMarginSpan的典型用法代碼示例。如果您正苦於以下問題:Java LeadingMarginSpan類的具體用法?Java LeadingMarginSpan怎麽用?Java LeadingMarginSpan使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


LeadingMarginSpan類屬於android.text.style包,在下文中一共展示了LeadingMarginSpan類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: handleOLTag

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
private void handleOLTag(Editable output) {
    if(output.length() > 0 && output.charAt(output.length() - 1) != '\n') {
        output.append("\n");
    }
    int numberMargin = mListIndent * (mLists.size() - 1);
    if(mLists.size() > 2) {
        // Counter effect of nested spans
        numberMargin -= (mLists.size() - 2) * mListIndent;
    }
    if(mLists.peek().second) {
        end(output, Ol.class, false,
                new LeadingMarginSpan.Standard(numberMargin),
                new ListNumberSpan(mTextPaint, mOlIndices.lastElement().first - 1,
                        mLists.peek().third
                )
        );
    } else {
        end(output, Ol.class, false,
                new LeadingMarginSpan.Standard(numberMargin)
        );
    }
}
 
開發者ID:tpb1908,項目名稱:AndroidProjectsClient,代碼行數:23,代碼來源:HtmlTagHandler.java

示例2: calculateTag2

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
public static void calculateTag2(TextView tag, TextView title, final String text) {
    ViewTreeObserver observer = tag.getViewTreeObserver();
    observer.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
        @Override
        public boolean onPreDraw() {
            SpannableString spannableString = new SpannableString(text);
            LeadingMarginSpan.Standard what = new LeadingMarginSpan.Standard(tag.getWidth() + dip2px(tag.getContext(), 10), 0);
            spannableString.setSpan(what, 0, spannableString.length(), SpannableString.SPAN_INCLUSIVE_INCLUSIVE);
            title.setText(spannableString);
            tag.getViewTreeObserver().removeOnPreDrawListener(
                    this);
            return false;
        }
    });

}
 
開發者ID:lovejjfg,項目名稱:PowerRecyclerView,代碼行數:17,代碼來源:ViewUtils.java

示例3: setIndent

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Override
public void setIndent(int indent) {
    if(indent <  0)
        return;

    int currentValue = -1;
    if(indentStack.isEmpty() || indent > (currentValue = indentStack.peek().value)){
        indentStack.push(new IndentValue(indent));
        return;
    }

    while(indent < currentValue){ // decreasing indent

        IndentValue pop = indentStack.pop();
        setSpan(new LeadingMarginSpan.Standard(INDENT_SIZE *pop.value), pop.start);

        if(indentStack.isEmpty())
            break;
        currentValue = indentStack.peek().value;
    }
}
 
開發者ID:benjamarle,項目名稱:typhon,代碼行數:22,代碼來源:SpannableHook.java

示例4: getReplaces

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Override
protected Object[] getReplaces(final Editable text, final int indentation) {
    // Nested BulletSpans increases distance between BULLET_SPAN and text, so we must prevent it.
    int bulletMargin = INDENT_PX;
    if (indentation > 1) {
        bulletMargin = INDENT_PX - BULLET_SPAN.getLeadingMargin(true);
        if (indentation > 2) {
            // This get's more complicated when we add a LeadingMarginSpan into the same line:
            // we have also counter it's effect to BulletSpan
            bulletMargin -= (indentation - 2) * LIST_ITEM_INDENT_PX;
        }
    }
    return new Object[]{
            new LeadingMarginSpan.Standard(LIST_ITEM_INDENT_PX * (indentation - 1)),
            new BulletSpan(bulletMargin)
    };
}
 
開發者ID:Stocard,項目名稱:markdown-to-spanned,代碼行數:18,代碼來源:HTMLTagHandler.java

示例5: testSubList

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Test
public void testSubList() throws Exception {
    String content = "* item 1\n" +
            "* item 2\n" +
            "    * sublist item 1\n" +
            "    * sublist item 2\n";
    Spanned result = Markdown.fromMarkdown(content);
    printSpans(result);
    Object[] spans = result.getSpans(0, result.length(), Object.class);
    assertEquals(8, spans.length);
    assertEquals(LeadingMarginSpan.Standard.class, spans[0].getClass());
    assertEquals(BulletSpan.class, spans[1].getClass());
    assertEquals(LeadingMarginSpan.Standard.class, spans[2].getClass());
    assertEquals(BulletSpan.class, spans[3].getClass());
    assertEquals(LeadingMarginSpan.Standard.class, spans[4].getClass());
    assertEquals(BulletSpan.class, spans[5].getClass());
    assertEquals(LeadingMarginSpan.Standard.class, spans[6].getClass());
    assertEquals(BulletSpan.class, spans[7].getClass());
}
 
開發者ID:Stocard,項目名稱:markdown-to-spanned,代碼行數:20,代碼來源:SpanTests.java

示例6: changeSpanBeforeTextChanged

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Override
public void changeSpanBeforeTextChanged(int start, int lengthBefore, int lengthAfter) {
    if (changeReplacement) {//add replacement will not change span
        return;
    }
    if (lengthBefore > lengthAfter) {
        LeadingMarginSpan richSpan = getAssignSpan(getSpanClass(), start + lengthBefore - 1, start + lengthBefore + 1);
        if (richSpan == null) {
            return;
        }
        int sStart = getEditableText().getSpanStart(richSpan);
        if (sStart == start && lengthAfter == 0) {
            spanDeletedIndex = start;
        }
    }
}
 
開發者ID:nebulae-pan,項目名稱:RichEditText,代碼行數:17,代碼來源:ParagraphAdapter.java

示例7: handleTag

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Override
public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) {
	switch (tag) {
		case "pre":
		case "PRE":
			ensureParagraphBoundary(output);
			break;
		// Unfortunately the following code will be ignored in API 24+ and the native rendering is inferior
		case "li":
		case "LI":
			if (opening) {
				liStarts.addLast(ensureParagraphBoundary(output));
			} else if (!liStarts.isEmpty()) {
				int start = liStarts.popLast();
				trimStart(output, start);
				int end = ensureParagraphBoundary(output);
				// Add leading margin to ensure the bullet is not cut off
				output.setSpan(new LeadingMarginSpan.Standard(leadingMargin), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
				output.setSpan(new BulletSpan(bulletGapWidth), start, end, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
			}
			break;
	}
}
 
開發者ID:cbeyls,項目名稱:fosdem-companion-android,代碼行數:24,代碼來源:StringUtils.java

示例8: LeadingMarginSpanDrawParameters

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
public LeadingMarginSpanDrawParameters(LeadingMarginSpan span,
                                       int x,
                                       int dir,
                                       int top,
                                       int baseline,
                                       int bottom,
                                       int start,
                                       int end,
                                       boolean first) {
    this.span = span;
    this.x = x;
    this.dir = dir;
    this.top = top;
    this.baseline = baseline;
    this.bottom = bottom;
    this.start = start;
    this.end = end;
    this.first = first;
}
 
開發者ID:bluejamesbond,項目名稱:TextJustify-Android,代碼行數:20,代碼來源:SpannableDocumentLayout.java

示例9: handleULTag

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
private void handleULTag(Editable output) {
    if(output.length() > 0 && output.charAt(output.length() - 1) != '\n') {
        output.append("\n");
    }

    if(mLists.peek().second) {
        //Check for checkboxes
        if(output.length() > 2 &&
                ((output.charAt(0) >= '\u2610' && output.charAt(0) <= '\u2612')
                        || (output.charAt(1) >= '\u2610' && output
                        .charAt(1) <= '\u2612')
                )) {
            end(output, Ul.class, false,
                    new LeadingMarginSpan.Standard(
                            mListIndent * (mLists.size() - 1))
            );
        } else {
            end(output, Ul.class, false,
                    new LeadingMarginSpan.Standard(
                            mListIndent * (mLists.size() - 1)),
                    new BulletSpan(mSingleIndent)
            );
        }
    } else {
        end(output, Ul.class, false,
                new LeadingMarginSpan.Standard(mListIndent * (mLists.size() - 1))
        );
    }
}
 
開發者ID:tpb1908,項目名稱:AndroidProjectsClient,代碼行數:30,代碼來源:HtmlTagHandler.java

示例10: getSpannedTagString

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
/**
 * Get a SpannableString suitable for displaying in a TextView using the given {@code book}'s {@link RTag}s.
 * @param book     Book whose tags to use.
 * @param maxLines Maximum number of lines to draw backgrounds for.
 * @return A SpannedString.
 */
public static SpannableString getSpannedTagString(RBook book, int maxLines) {
    Spanny spanny = new Spanny();
    HashMap<String, Integer> colorMap = new HashMap<>(book.tags.size());
    for (RTag tag : book.tags) {
        spanny.append(tag.name, new ForegroundColorSpan(tag.textColor)).append(TAG_SEP);
        colorMap.put(tag.name, tag.bgColor);
    }
    return Spanny.spanText(spanny,
            new LeadingMarginSpan.Standard((int) Minerva.d().TAG_CORNER_RADIUS),
            new TagBackgroundSpan(colorMap, maxLines));
}
 
開發者ID:bkromhout,項目名稱:Minerva,代碼行數:18,代碼來源:TagBackgroundSpan.java

示例11: testEnumeration

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Test
public void testEnumeration() throws Exception {
    String content = " 1. item1\n" +
            " 1. item2";
    Spanned result = Markdown.fromMarkdown(content);
    printSpans(result);
    Object[] spans = result.getSpans(0, result.length(), Object.class);
    assertEquals(2, spans.length);
    assertEquals(LeadingMarginSpan.Standard.class, spans[0].getClass());
    assertEquals('1', result.charAt(0));
    assertEquals(LeadingMarginSpan.Standard.class, spans[1].getClass());
    assertEquals('2', result.charAt(9));
}
 
開發者ID:Stocard,項目名稱:markdown-to-spanned,代碼行數:14,代碼來源:SpanTests.java

示例12: testListAsterisk

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Test
public void testListAsterisk() throws Exception {
    String content = " * item1\n" +
            " * item2";
    Spanned result = Markdown.fromMarkdown(content);
    printSpans(result);
    Object[] spans = result.getSpans(0, result.length(), Object.class);
    assertEquals(4, spans.length);
    assertEquals(LeadingMarginSpan.Standard.class, spans[0].getClass());
    assertEquals(BulletSpan.class, spans[1].getClass());
    assertEquals(LeadingMarginSpan.Standard.class, spans[2].getClass());
    assertEquals(BulletSpan.class, spans[3].getClass());
}
 
開發者ID:Stocard,項目名稱:markdown-to-spanned,代碼行數:14,代碼來源:SpanTests.java

示例13: testListMinus

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Test
public void testListMinus() throws Exception {
    String content = " * item1\n" +
            " * item2";
    Spanned result = Markdown.fromMarkdown(content);
    printSpans(result);
    Object[] spans = result.getSpans(0, result.length(), Object.class);
    assertEquals(4, spans.length);
    assertEquals(LeadingMarginSpan.Standard.class, spans[0].getClass());
    assertEquals(BulletSpan.class, spans[1].getClass());
    assertEquals(LeadingMarginSpan.Standard.class, spans[2].getClass());
    assertEquals(BulletSpan.class, spans[3].getClass());
}
 
開發者ID:Stocard,項目名稱:markdown-to-spanned,代碼行數:14,代碼來源:SpanTests.java

示例14: testListPlus

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
@Test
public void testListPlus() throws Exception {
    String content = " * item1\n" +
            " * item2";
    Spanned result = Markdown.fromMarkdown(content);
    printSpans(result);
    Object[] spans = result.getSpans(0, result.length(), Object.class);
    assertEquals(4, spans.length);
    assertEquals(LeadingMarginSpan.Standard.class, spans[0].getClass());
    assertEquals(BulletSpan.class, spans[1].getClass());
    assertEquals(LeadingMarginSpan.Standard.class, spans[2].getClass());
    assertEquals(BulletSpan.class, spans[3].getClass());
}
 
開發者ID:Stocard,項目名稱:markdown-to-spanned,代碼行數:14,代碼來源:SpanTests.java

示例15: setSelectionTextSpan

import android.text.style.LeadingMarginSpan; //導入依賴的package包/類
protected void setSelectionTextSpan(boolean isValid, Class<? extends LeadingMarginSpan> clazz, int start, int end) {
    try {
        LeadingMarginSpan assignSpan = clazz.newInstance();
        setSelectionTextSpan(isValid, assignSpan, start, end);
    } catch (Exception e) {
        Log.e(TAG, "can not instantiated " + clazz);
        e.printStackTrace();
    }
}
 
開發者ID:nebulae-pan,項目名稱:RichEditText,代碼行數:10,代碼來源:SpanAdapter.java


注:本文中的android.text.style.LeadingMarginSpan類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。