Java Code Examples for android.text.TextPaint#setSubpixelText()
The following examples show how to use
android.text.TextPaint#setSubpixelText() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SubtitlePainter.java From no-player with Apache License 2.0 | 6 votes |
@SuppressWarnings("ResourceType") // We're hacking `spacingMult = styledAttributes.getFloat` SubtitlePainter(Context context) { int[] viewAttr = {android.R.attr.lineSpacingExtra, android.R.attr.lineSpacingMultiplier}; TypedArray styledAttributes = context.obtainStyledAttributes(null, viewAttr, 0, 0); spacingAdd = styledAttributes.getDimensionPixelSize(0, 0); spacingMult = styledAttributes.getFloat(1, 1); styledAttributes.recycle(); Resources resources = context.getResources(); DisplayMetrics displayMetrics = resources.getDisplayMetrics(); int twoDpInPx = Math.round((TWO_DP * displayMetrics.densityDpi) / DisplayMetrics.DENSITY_DEFAULT); cornerRadius = twoDpInPx; outlineWidth = twoDpInPx; shadowRadius = twoDpInPx; shadowOffset = twoDpInPx; textPaint = new TextPaint(); textPaint.setAntiAlias(true); textPaint.setSubpixelText(true); paint = new Paint(); paint.setAntiAlias(true); paint.setStyle(Style.FILL); }
Example 2
Source File: SubtitlePainter.java From K-Sonic with MIT License | 6 votes |
@SuppressWarnings("ResourceType") public SubtitlePainter(Context context) { int[] viewAttr = {android.R.attr.lineSpacingExtra, android.R.attr.lineSpacingMultiplier}; TypedArray styledAttributes = context.obtainStyledAttributes(null, viewAttr, 0, 0); spacingAdd = styledAttributes.getDimensionPixelSize(0, 0); spacingMult = styledAttributes.getFloat(1, 1); styledAttributes.recycle(); Resources resources = context.getResources(); DisplayMetrics displayMetrics = resources.getDisplayMetrics(); int twoDpInPx = Math.round((2f * displayMetrics.densityDpi) / DisplayMetrics.DENSITY_DEFAULT); cornerRadius = twoDpInPx; outlineWidth = twoDpInPx; shadowRadius = twoDpInPx; shadowOffset = twoDpInPx; textPaint = new TextPaint(); textPaint.setAntiAlias(true); textPaint.setSubpixelText(true); paint = new Paint(); paint.setAntiAlias(true); paint.setStyle(Style.FILL); }
Example 3
Source File: QBadgeView.java From BadgeView with Apache License 2.0 | 5 votes |
private void init() { setLayerType(View.LAYER_TYPE_SOFTWARE, null); mBadgeTextRect = new RectF(); mBadgeBackgroundRect = new RectF(); mDragPath = new Path(); mBadgeCenter = new PointF(); mDragCenter = new PointF(); mRowBadgeCenter = new PointF(); mControlPoint = new PointF(); mInnertangentPoints = new ArrayList<>(); mBadgeTextPaint = new TextPaint(); mBadgeTextPaint.setAntiAlias(true); mBadgeTextPaint.setSubpixelText(true); mBadgeTextPaint.setFakeBoldText(true); mBadgeTextPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); mBadgeBackgroundPaint = new Paint(); mBadgeBackgroundPaint.setAntiAlias(true); mBadgeBackgroundPaint.setStyle(Paint.Style.FILL); mBadgeBackgroundBorderPaint = new Paint(); mBadgeBackgroundBorderPaint.setAntiAlias(true); mBadgeBackgroundBorderPaint.setStyle(Paint.Style.STROKE); mColorBackground = 0xFFE84E40; mColorBadgeText = 0xFFFFFFFF; mBadgeTextSize = DisplayUtil.dp2px(getContext(), 11); mBadgePadding = DisplayUtil.dp2px(getContext(), 5); mBadgeNumber = 0; mBadgeGravity = Gravity.END | Gravity.TOP; mGravityOffsetX = DisplayUtil.dp2px(getContext(), 1); mGravityOffsetY = DisplayUtil.dp2px(getContext(), 1); mFinalDragDistance = DisplayUtil.dp2px(getContext(), 90); mShowShadow = true; mDrawableBackgroundClip = false; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { setTranslationZ(1000); } }
Example 4
Source File: QBadgeView.java From BottomNavigationBar with Apache License 2.0 | 5 votes |
private void init() { setLayerType(View.LAYER_TYPE_SOFTWARE, null); mBadgeTextRect = new RectF(); mBadgeBackgroundRect = new RectF(); mDragPath = new Path(); mBadgeCenter = new PointF(); mDragCenter = new PointF(); mRowBadgeCenter = new PointF(); mControlPoint = new PointF(); mInnertangentPoints = new ArrayList<>(); mBadgeTextPaint = new TextPaint(); mBadgeTextPaint.setAntiAlias(true); mBadgeTextPaint.setSubpixelText(true); mBadgeTextPaint.setFakeBoldText(true); mBadgeTextPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); mBadgeBackgroundPaint = new Paint(); mBadgeBackgroundPaint.setAntiAlias(true); mBadgeBackgroundPaint.setStyle(Paint.Style.FILL); mBadgeBackgroundBorderPaint = new Paint(); mBadgeBackgroundBorderPaint.setAntiAlias(true); mBadgeBackgroundBorderPaint.setStyle(Paint.Style.STROKE); mColorBackground = 0xFFE84E40; mColorBadgeText = 0xFFFFFFFF; mBadgeTextSize = DisplayUtil.dp2px(getContext(), 11); mBadgePadding = DisplayUtil.dp2px(getContext(), 5); mBadgeNumber = 0; mBadgeGravity = Gravity.END | Gravity.TOP; mGravityOffsetX = DisplayUtil.dp2px(getContext(), 1); mGravityOffsetY = DisplayUtil.dp2px(getContext(), 1); mFinalDragDistance = DisplayUtil.dp2px(getContext(), 90); mShowShadow = true; mDrawableBackgroundClip = false; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { setTranslationZ(1000); } }
Example 5
Source File: TextInputLayoutTest.java From material-components-android with Apache License 2.0 | 5 votes |
@Test public void testHintCollapsedHeightMeasuredFromBaseline() { final Activity activity = activityTestRule.getActivity(); final TextInputLayout layout = activity.findViewById(R.id.textinput_box_outline); // Create a TextView and set it to a custom text and TextAppearance. TextView textView = new TextView(layout.getContext()); textView.setText(HINT_TEXT); TextViewCompat.setTextAppearance(textView, R.style.TextMediumGreenStyle); // Create a TextPaint to measure the text's height from the baseline, and port over aspects of // the TextAppearance from the textView. TextPaint textPaint = new TextPaint(); textPaint.setSubpixelText(true); textPaint.setColor(textView.getCurrentTextColor()); textPaint.setTypeface(textView.getTypeface()); textPaint.setTextSize(textView.getTextSize()); // Set the same custom text and text appearance on the outline box's hint. onView(withId(R.id.textinput_box_outline)) .perform(setHint(HINT_TEXT)) .perform(setHintTextAppearance(R.style.TextMediumGreenStyle)); // Check that the hint's collapsed height is the same as the TextPaint's height, measured from // the baseline (-ascent). assertEquals(layout.getHintCollapsedTextHeight(), -textPaint.ascent(), 0.01); }
Example 6
Source File: AsyncView.java From actor-platform with GNU Affero General Public License v3.0 | 5 votes |
public TextPaint createTextPaint(Typeface typeface, int size, int color) { TextPaint res = new TextPaint(Paint.ANTI_ALIAS_FLAG); res.setSubpixelText(true); res.setTypeface(typeface); res.setTextSize(Screen.sp(size)); res.setColor(color); return res; }
Example 7
Source File: PageLoader.java From MyBookshelf with GNU General Public License v3.0 | 4 votes |
/** * 初始化画笔 */ private void initPaint() { Typeface typeface; try { if (!TextUtils.isEmpty(readBookControl.getFontPath())) { typeface = Typeface.createFromFile(readBookControl.getFontPath()); } else { typeface = Typeface.SANS_SERIF; } } catch (Exception e) { Toast.makeText(mContext, "字体文件未找,到恢复默认字体", Toast.LENGTH_SHORT).show(); readBookControl.setReadBookFont(null); typeface = Typeface.SANS_SERIF; } // 绘制提示的画笔 mTipPaint = new TextPaint(); mTipPaint.setColor(readBookControl.getTextColor()); mTipPaint.setTextAlign(Paint.Align.LEFT); // 绘制的起始点 mTipPaint.setTextSize(ScreenUtils.spToPx(DEFAULT_TIP_SIZE)); // Tip默认的字体大小 mTipPaint.setTypeface(Typeface.create(typeface, Typeface.NORMAL)); mTipPaint.setAntiAlias(true); mTipPaint.setSubpixelText(true); // 绘制标题的画笔 mTitlePaint = new TextPaint(); mTitlePaint.setColor(readBookControl.getTextColor()); mTitlePaint.setTextSize(mTitleSize); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mTitlePaint.setLetterSpacing(readBookControl.getTextLetterSpacing()); } mTitlePaint.setStyle(Paint.Style.FILL_AND_STROKE); mTitlePaint.setTypeface(Typeface.create(typeface, Typeface.BOLD)); mTitlePaint.setTextAlign(Paint.Align.CENTER); mTitlePaint.setAntiAlias(true); // 绘制页面内容的画笔 mTextPaint = new TextPaint(); mTextPaint.setColor(readBookControl.getTextColor()); mTextPaint.setTextSize(mTextSize); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mTextPaint.setLetterSpacing(readBookControl.getTextLetterSpacing()); } int bold = readBookControl.getTextBold() ? Typeface.BOLD : Typeface.NORMAL; mTextPaint.setTypeface(Typeface.create(typeface, bold)); mTextPaint.setAntiAlias(true); // 绘制结束的画笔 mTextEndPaint = new TextPaint(); mTextEndPaint.setColor(readBookControl.getTextColor()); mTextEndPaint.setTextSize(mTextEndSize); mTextEndPaint.setTypeface(Typeface.create(typeface, Typeface.NORMAL)); mTextEndPaint.setAntiAlias(true); mTextEndPaint.setSubpixelText(true); mTextEndPaint.setTextAlign(Paint.Align.CENTER); // 绘制电池的画笔 mBatteryPaint = new TextPaint(); mBatteryPaint.setAntiAlias(true); mBatteryPaint.setDither(true); mBatteryPaint.setTextSize(ScreenUtils.spToPx(DEFAULT_TIP_SIZE - 3)); mBatteryPaint.setTypeface(Typeface.createFromAsset(mContext.getAssets(), "number.ttf")); setupTextInterval(); // 初始化页面样式 initPageStyle(); }
Example 8
Source File: PageLoader.java From HaoReader with GNU General Public License v3.0 | 4 votes |
/** * 作用:设置与文字相关的参数 */ private void setTextParams() { // 文字大小 mTextSize = ScreenUtils.spToPx(mSettingManager.getTextSize()); // 行间距 mTextInterval = ScreenUtils.dpToPx(mSettingManager.getLineSpacing()); // 段落间距 mTextPara = ScreenUtils.dpToPx(mSettingManager.getParagraphSpacing()); Typeface typeface; try { if (mSettingManager.getFontPath() != null) { typeface = Typeface.createFromFile(mSettingManager.getFontPath()); } else { typeface = Typeface.SANS_SERIF; } } catch (Exception e) { ToastUtils.toast(mContext, "字体文件未找,到恢复默认字体"); mSettingManager.setReadBookFont(null); typeface = Typeface.SANS_SERIF; } // 绘制提示的画笔 mTipPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); mTipPaint.setColor(mTextColor); mTipPaint.setTextAlign(Paint.Align.LEFT); // 绘制的起始点 mTipPaint.setTextSize(ScreenUtils.spToPx(DEFAULT_TIP_SIZE)); // Tip默认的字体大小 mTipPaint.setTypeface(typeface); mTipPaint.setFakeBoldText(mSettingManager.getTextBold()); mTipPaint.setSubpixelText(true); mTipPaint.setDither(true); // 绘制标题的画笔 mTitlePaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); mTitlePaint.setColor(mTextColor); mTitlePaint.setTextSize(mTextSize * 1.25f); mTitlePaint.setStyle(Paint.Style.FILL_AND_STROKE); mTitlePaint.setTypeface(typeface); mTitlePaint.setFakeBoldText(true); mTitlePaint.setSubpixelText(true); mTitlePaint.setDither(true); // 绘制页面内容的画笔 mTextPaint = new TextPaint(Paint.ANTI_ALIAS_FLAG); mTextPaint.setColor(mTextColor); mTextPaint.setTextSize(mTextSize); mTextPaint.setTypeface(typeface); mTextPaint.setFakeBoldText(mSettingManager.getTextBold()); mTextPaint.setSubpixelText(true); mTextPaint.setDither(true); }