android.text.TextPaint#getTypeface ( )源码实例Demo

下面列出了android.text.TextPaint#getTypeface ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: openboard   文件: SuggestionStripLayoutHelper.java
private static int getTextWidth(@Nullable final CharSequence text, final TextPaint paint) {
    if (TextUtils.isEmpty(text)) {
        return 0;
    }
    final int length = text.length();
    final float[] widths = new float[length];
    final int count;
    final Typeface savedTypeface = paint.getTypeface();
    try {
        paint.setTypeface(getTextTypeface(text));
        count = paint.getTextWidths(text, 0, length, widths);
    } finally {
        paint.setTypeface(savedTypeface);
    }
    int width = 0;
    for (int i = 0; i < count; i++) {
        width += Math.round(widths[i] + 0.5f);
    }
    return width;
}
 
源代码2 项目: mongol-library   文件: MongolTypefaceSpan.java
private void apply(TextPaint paint) {
    int oldStyle;
    Typeface old = paint.getTypeface();
    if (old == null) {
        oldStyle = 0;
    } else {
        oldStyle = old.getStyle();
    }
    final int fakeStyle = oldStyle & ~typeface.getStyle();

    if ((fakeStyle & Typeface.BOLD) != 0) {
        paint.setFakeBoldText(true);
    }

    if ((fakeStyle & Typeface.ITALIC) != 0) {
        paint.setTextSkewX(-0.25f);
    }

    paint.setTypeface(typeface);
}
 
private static int getTextWidth(@Nullable final CharSequence text, final TextPaint paint) {
    if (TextUtils.isEmpty(text)) {
        return 0;
    }
    final int length = text.length();
    final float[] widths = new float[length];
    final int count;
    final Typeface savedTypeface = paint.getTypeface();
    try {
        paint.setTypeface(getTextTypeface(text));
        count = paint.getTextWidths(text, 0, length, widths);
    } finally {
        paint.setTypeface(savedTypeface);
    }
    int width = 0;
    for (int i = 0; i < count; i++) {
        width += Math.round(widths[i] + 0.5f);
    }
    return width;
}
 
private void applyCustomTypeFace(TextPaint paint) {
    final Typeface old = paint.getTypeface();
    final int oldStyle = (old == null) ? 0 : old.getStyle();

    Typeface typeface = this.typeface;
    int fake = oldStyle & ~typeface.getStyle();
    if ((fake & android.graphics.Typeface.BOLD) != 0) {
        paint.setFakeBoldText(true);
    }

    if ((fake & android.graphics.Typeface.ITALIC) != 0) {
        paint.setTextSkewX(-0.25f);
    }

    paint.setTypeface(typeface);
}
 
源代码5 项目: nfcard   文件: SpanFormatter.java
@Override
public void updateDrawState(TextPaint ds) {
	ds.setTextSize(size);
	ds.setColor(color);

	if (face != null) {
		ds.setTypeface(face);
	} else if (bold) {
		Typeface tf = ds.getTypeface();

		if (tf != null) {
			int style = tf.getStyle() | Typeface.BOLD;
			tf = Typeface.create(tf, style);
			ds.setTypeface(tf);

			style &= ~tf.getStyle();

			if ((style & Typeface.BOLD) != 0) {
				ds.setFakeBoldText(true);
			}
		}
	}
}
 
源代码6 项目: NFCard   文件: SpanFormatter.java
@Override
public void updateDrawState(TextPaint ds) {
	ds.setTextSize(size);
	ds.setColor(color);

	if (face != null) {
		ds.setTypeface(face);
	} else if (bold) {
		Typeface tf = ds.getTypeface();

		if (tf != null) {
			int style = tf.getStyle() | Typeface.BOLD;
			tf = Typeface.create(tf, style);
			ds.setTypeface(tf);

			style &= ~tf.getStyle();

			if ((style & Typeface.BOLD) != 0) {
				ds.setFakeBoldText(true);
			}
		}
	}
}
 
private static int getTextWidth(@Nullable final CharSequence text, final TextPaint paint) {
    if (TextUtils.isEmpty(text)) {
        return 0;
    }
    final int length = text.length();
    final float[] widths = new float[length];
    final int count;
    final Typeface savedTypeface = paint.getTypeface();
    try {
        paint.setTypeface(getTextTypeface(text));
        count = paint.getTextWidths(text, 0, length, widths);
    } finally {
        paint.setTypeface(savedTypeface);
    }
    int width = 0;
    for (int i = 0; i < count; i++) {
        width += Math.round(widths[i] + 0.5f);
    }
    return width;
}
 
源代码8 项目: user-interface-samples   文件: FontSpan.java
@SuppressLint("WrongConstant")
private void update(TextPaint textPaint) {
    Typeface old = textPaint.getTypeface();
    int oldStyle = old != null ? old.getStyle() : 0;

    // Typeface is already cached at the system level
    // keep the style set before
    Typeface font = Typeface.create(this.font, oldStyle);
    textPaint.setTypeface(font);
}
 
源代码9 项目: PowerFileExplorer   文件: TextAppearanceSpan.java
@Override
public void updateMeasureState(TextPaint ds) {
    if (mTypeface != null || mStyle != 0) {
        Typeface tf = ds.getTypeface();
        int style = 0;

        if (tf != null) {
            style = tf.getStyle();
        }

        style |= mStyle;

        if (mTypeface != null) {
            tf = Typeface.create(mTypeface, style);
        } else if (tf == null) {
            tf = Typeface.defaultFromStyle(style);
        } else {
            tf = Typeface.create(tf, style);
        }

        int fake = style & ~tf.getStyle();

        if ((fake & Typeface.BOLD) != 0) {
            ds.setFakeBoldText(true);
        }

        if ((fake & Typeface.ITALIC) != 0) {
            ds.setTextSkewX(-0.25f);
        }

        ds.setTypeface(tf);
    }

    if (mTextSize > 0) {
        ds.setTextSize(mTextSize);
    }
}
 
源代码10 项目: md2tv   文件: TypefaceResourceSpan.java
@Override
public void updateMeasureState(TextPaint p) {
    Typeface old=p.getTypeface();
    if ( old != null && !old.isBold() && tf_.isBold() ) {
        p.setFakeBoldText(true);
    }
    if ( old != null && !old.isItalic() && tf_.isItalic() ) {
        p.setTextSkewX(-0.25f);
    }
    p.setTypeface(tf_);
}
 
源代码11 项目: md2tv   文件: TypefaceResourceSpan.java
@Override
public void updateDrawState(TextPaint tp) {
    Typeface old=tp.getTypeface();
    if ( old != null && !old.isBold() && tf_.isBold() ) {
        tp.setFakeBoldText(true);
    }
    if ( old != null && !old.isItalic() && tf_.isItalic() ) {
        tp.setTextSkewX(-0.25f);
    }
    tp.setTypeface(tf_);
}
 
源代码12 项目: JotaTextEditor   文件: TextAppearanceSpan.java
@Override
public void updateMeasureState(TextPaint ds) {
    if (mTypeface != null || mStyle != 0) {
        Typeface tf = ds.getTypeface();
        int style = 0;

        if (tf != null) {
            style = tf.getStyle();
        }

        style |= mStyle;

        if (mTypeface != null) {
            tf = Typeface.create(mTypeface, style);
        } else if (tf == null) {
            tf = Typeface.defaultFromStyle(style);
        } else {
            tf = Typeface.create(tf, style);
        }

        int fake = style & ~tf.getStyle();

        if ((fake & Typeface.BOLD) != 0) {
            ds.setFakeBoldText(true);
        }

        if ((fake & Typeface.ITALIC) != 0) {
            ds.setTextSkewX(-0.25f);
        }

        ds.setTypeface(tf);
    }

    if (mTextSize > 0) {
        ds.setTextSize(mTextSize);
    }
}
 
源代码13 项目: android_9.0.0_r45   文件: TextAppearanceSpan.java
@Override
public void updateMeasureState(TextPaint ds) {
    final Typeface styledTypeface;
    int style = 0;

    if (mTypeface != null) {
        style = mStyle;
        styledTypeface = Typeface.create(mTypeface, style);
    } else if (mFamilyName != null || mStyle != 0) {
        Typeface tf = ds.getTypeface();

        if (tf != null) {
            style = tf.getStyle();
        }

        style |= mStyle;

        if (mFamilyName != null) {
            styledTypeface = Typeface.create(mFamilyName, style);
        } else if (tf == null) {
            styledTypeface = Typeface.defaultFromStyle(style);
        } else {
            styledTypeface = Typeface.create(tf, style);
        }
    } else {
        styledTypeface = null;
    }

    if (styledTypeface != null) {
        int fake = style & ~styledTypeface.getStyle();

        if ((fake & Typeface.BOLD) != 0) {
            ds.setFakeBoldText(true);
        }

        if ((fake & Typeface.ITALIC) != 0) {
            ds.setTextSkewX(-0.25f);
        }

        ds.setTypeface(styledTypeface);
    }

    if (mTextSize > 0) {
        ds.setTextSize(mTextSize);
    }
}