Java Code Examples for android.widget.TextView#getPaint()
The following examples show how to use
android.widget.TextView#getPaint() .
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: NewsDetailActivity.java From NetEasyNews with GNU General Public License v3.0 | 6 votes |
@Override public void initView() { initToolbar(); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(mContext); mPage_content = (LinearLayout) findViewById(R.id.page_content); mLoadingPage = (LoadingPage) findViewById(R.id.loading_page); details_title = (TextView) this.findViewById(R.id.details_title); // 设置标题加粗 TextPaint tp = details_title.getPaint(); tp.setFakeBoldText(true); details_name = (TextView) this.findViewById(R.id.details_name); details_time = (TextView) this.findViewById(R.id.details_time); mWebView = (WebView) this.findViewById(details_content); showLoadingPage(); }
Example 2
Source File: MuPDFReflowRecyclerViewAdapter.java From Mupdf with Apache License 2.0 | 6 votes |
public PDFTextView(Context context) { super(context); setOrientation(VERTICAL); setMinimumHeight(screenHeight / 3); textView = new TextView(context); LayoutParams lp = new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); lp.gravity = Gravity.CENTER_HORIZONTAL; addView(textView, lp); setPadding(0, 40, 0, 40); setBackgroundColor(context.getResources().getColor(R.color.text_reflow_bg_color)); mPaint = textView.getPaint(); mTextSize = mPaint.getTextSize(); mPaint.setTextSize(mTextSize * 1.2f); // html:行间距要调小,会导致图文重排图片上移,段间距偏大,行间距也偏大, // xhtml:默认不修改,文本行间距偏小,段间距偏大. // text:所有文本不换行,显示不对.剩下与xhtml相同.如果不使用Html.from设置,有换行,但显示不了图片. // textView.setLineSpacing(0, 0.8f); textView.setPadding(30, 0, 30, 0); textView.setTextColor(context.getResources().getColor(R.color.text_reflow_color)); //textView.setTextIsSelectable(true); minImgHeight = textView.getPaint().measureText("我") + 5; }
Example 3
Source File: BlogDateAdapter.java From LoveTalkClient with Apache License 2.0 | 6 votes |
TextView getTextView() { //设置TextView的样式 AbsListView.LayoutParams lp = new AbsListView.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, 64); TextView textView = new TextView( mContext); textView.setLayoutParams(lp); textView.setGravity(Gravity.CENTER_VERTICAL); //设置TextView的Padding值 textView.setPadding(16, -10, 0, 32); //设置TextView的字体大小 textView.setTextSize(14); //设置TextView的字体颜色 textView.setTextColor(Color.WHITE); //设置字体加粗 TextPaint txt = textView.getPaint(); txt.setFakeBoldText(true); return textView; }
Example 4
Source File: FilterTabView.java From FilterTabView with Apache License 2.0 | 6 votes |
/** * 设置箭头方向 */ private void setArrowDirection(TextView tv_tab, boolean isUp) { TextPaint textPaint = tv_tab.getPaint(); if (isUp) { if (tab_text_style == 1) { textPaint.setFakeBoldText(true); } tv_tab.setTextColor(btnTextSelect); tv_tab.setCompoundDrawablesWithIntrinsicBounds(0, 0, tab_arrow_select, 0); } else { textPaint.setFakeBoldText(false); tv_tab.setTextColor(btnTextUnSelect); tv_tab.setCompoundDrawablesWithIntrinsicBounds(0, 0, tab_arrow_unselect, 0); } }
Example 5
Source File: BlogAdapter.java From LoveTalkClient with Apache License 2.0 | 6 votes |
TextView getTextView() { //设置TextView的样式 AbsListView.LayoutParams lp = new AbsListView.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, 64); TextView textView = new TextView( mContext); textView.setLayoutParams(lp); textView.setGravity(Gravity.CENTER_VERTICAL); //设置TextView的Padding值 textView.setPadding(16, -10, 0, 32); //设置TextView的字体大小 textView.setTextSize(14); //设置TextView的字体颜色 textView.setTextColor(Color.WHITE); //设置字体加粗 TextPaint txt = textView.getPaint(); txt.setFakeBoldText(true); return textView; }
Example 6
Source File: Card.java From android2048 with Apache License 2.0 | 6 votes |
public Card(Context context) { super(context); LayoutParams lp = null; background = new View(getContext()); lp = new LayoutParams(-1, -1); lp.setMargins(10, 10, 0, 0); background.setBackgroundColor(getResources().getColor( R.color.normalCardBack)); addView(background, lp); label = new TextView(getContext()); label.setTextSize(28); label.setGravity(Gravity.CENTER); TextPaint tp = label.getPaint(); tp.setFakeBoldText(true); lp = new LayoutParams(-1, -1); lp.setMargins(10, 10, 0, 0); addView(label, lp); setNum(0); }
Example 7
Source File: NameInputMenuScreen.java From gravitydefied with GNU General Public License v2.0 | 5 votes |
protected static int getWordWidth() { Context context = getGDActivity(); String text = "W"; TextView textView = new TextView(context); textView.setTextSize(ClickableMenuElement.TEXT_SIZE); textView.setTypeface(Global.robotoCondensedTypeface); Rect bounds = new Rect(); Paint textPaint = textView.getPaint(); textPaint.getTextBounds(text, 0, text.length(), bounds); return bounds.width() + getDp(WORD_SPACE); }
Example 8
Source File: SystemUtils.java From QRScanner with GNU Lesser General Public License v3.0 | 5 votes |
/** * 判断TextView的内容宽度是否超出其可用宽度 * * @param tv * @return */ public static boolean isOverFlowed(TextView tv, int maxWidth) { int availableWidth = maxWidth - tv.getPaddingLeft() - tv.getPaddingRight(); Paint textViewPaint = tv.getPaint(); float textWidth = textViewPaint.measureText(tv.getText().toString()); if (textWidth > availableWidth) { return true; } else { return false; } }
Example 9
Source File: CommonUtil.java From StockChart-MPAndroidChart with MIT License | 5 votes |
/** * 计算TextView 的宽度 * @param textView * @param text * @return */ public static float getTextViewLength(TextView textView,String text){ TextPaint paint = textView.getPaint(); // 得到使用该paint写上text的时候,像素为多少 float textLength = paint.measureText(text); return textLength; }
Example 10
Source File: ViewUtils.java From Shield with MIT License | 5 votes |
public static int measureTextView(TextView tv) { if (tv == null) { return -1; } Paint p = tv.getPaint(); return (int) p.measureText(tv.getText().toString()); }
Example 11
Source File: InfoBarControlLayout.java From delion with Apache License 2.0 | 5 votes |
/** * Computes and records the minimum width required to display any of the values without * causing another layout pass when switching values. */ int computeMinWidthRequiredForValues() { DualControlLayout layout = getView(0, null, null); TextView container = (TextView) layout.getChildAt(1); Paint textPaint = container.getPaint(); float longestLanguageWidth = 0; for (int i = 0; i < getCount(); i++) { float width = textPaint.measureText(getItem(i).toString()); longestLanguageWidth = Math.max(longestLanguageWidth, width); } mMinWidthRequiredForValues = (int) Math.ceil(longestLanguageWidth); return mMinWidthRequiredForValues; }
Example 12
Source File: FunctionUtils.java From NGA-CLIENT-VER-OPEN-SOURCE with GNU General Public License v2.0 | 5 votes |
public static void handleNickName(ThreadRowInfo row, int fgColor, TextView nickNameTV, Context context) { initStaticStrings(context); String nickName = row.getAuthor(); // int now = 0; if ("-1".equals(row.getYz()))// nuked { fgColor = nickNameTV.getResources().getColor(R.color.title_red); nickName += "(VIP)"; } else if (!StringUtils.isEmpty(row.getMuteTime()) && !"0".equals(row.getMuteTime()) || row.isMuted()) { fgColor = nickNameTV.getResources().getColor(R.color.title_orange); nickName += "(" + legend + ")"; } if (row.get_isInBlackList()) { fgColor = nickNameTV.getResources().getColor(R.color.title_orange); nickName += "(" + blacklistban + ")"; } if (row.getISANONYMOUS()) { fgColor = nickNameTV.getResources().getColor(R.color.title_red); nickName += "(匿名)"; } nickNameTV.setText(nickName); TextPaint tp = nickNameTV.getPaint(); tp.setFakeBoldText(true);// bold for Chinese character nickNameTV.setTextColor(fgColor); }
Example 13
Source File: LocalIMEKeyboard.java From WaniKani-for-Android with GNU General Public License v3.0 | 5 votes |
private void adjustWidth (TextView view, RelativeLayout.LayoutParams params, String text) { Paint tpaint; tpaint = view.getPaint (); params.width = (int) Math.max (params.width, tpaint.measureText (text)); }
Example 14
Source File: PrecomputedTextSetterCompat.java From Markwon with Apache License 2.0 | 5 votes |
@Nullable private static PrecomputedTextCompat precomputedText(@Nullable TextView textView, @NonNull Spanned spanned) { if (textView == null) { return null; } final PrecomputedTextCompat.Params params; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { // use native parameters on P params = new PrecomputedTextCompat.Params(textView.getTextMetricsParams()); } else { final PrecomputedTextCompat.Params.Builder builder = new PrecomputedTextCompat.Params.Builder(textView.getPaint()); // please note that text-direction initialization is omitted // by default it will be determined by the first locale-specific character if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // another miss on API surface, this can easily be done by the compat class itself builder .setBreakStrategy(textView.getBreakStrategy()) .setHyphenationFrequency(textView.getHyphenationFrequency()); } params = builder.build(); } return PrecomputedTextCompat.create(spanned, params); }
Example 15
Source File: AutofillPopup.java From android-chromium with BSD 2-Clause "Simplified" License | 5 votes |
/** * Get desired popup window width by calculating the maximum text length from Autofill data. * @param data Autofill suggestion data. * @return The popup window width in DIP. */ private float getDesiredWidth(ArrayList<AutofillSuggestion> data) { if (mLabelViewPaint == null || mSublabelViewPaint == null) { LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.autofill_text, null); TextView labelView = (TextView) layout.findViewById(R.id.autofill_label); mLabelViewPaint = labelView.getPaint(); TextView sublabelView = (TextView) layout.findViewById(R.id.autofill_sublabel); mSublabelViewPaint = sublabelView.getPaint(); } float maxTextWidth = 0; Rect bounds = new Rect(); for (int i = 0; i < data.size(); ++i) { bounds.setEmpty(); String label = data.get(i).mLabel; if (!TextUtils.isEmpty(label)) { mLabelViewPaint.getTextBounds(label, 0, label.length(), bounds); } float labelWidth = bounds.width(); bounds.setEmpty(); String sublabel = data.get(i).mSublabel; if (!TextUtils.isEmpty(sublabel)) { mSublabelViewPaint.getTextBounds(sublabel, 0, sublabel.length(), bounds); } float localMax = Math.max(labelWidth, bounds.width()); maxTextWidth = Math.max(maxTextWidth, localMax); } // Scale it down to make it unscaled by screen density. maxTextWidth = maxTextWidth / mContext.getResources().getDisplayMetrics().density; // Adding padding. return maxTextWidth + TEXT_PADDING_DP; }
Example 16
Source File: TextWidthColorBar.java From SprintNBA with Apache License 2.0 | 5 votes |
private int getTextWidth(TextView textView) { if (textView == null) { return 0; } Rect bounds = new Rect(); String text = textView.getText().toString(); Paint paint = textView.getPaint(); paint.getTextBounds(text, 0, text.length(), bounds); int width = bounds.left + bounds.width(); return width; }
Example 17
Source File: Animation.java From MusicPlayer with GNU General Public License v3.0 | 4 votes |
private int getTextWidth(TextView textView) { Rect bounds = new Rect(); Paint textPaint = textView.getPaint(); textPaint.getTextBounds(textView.getText().toString(), 0, textView.getText().length(), bounds); return bounds.width(); }
Example 18
Source File: TextJusification.java From QuranyApp with Apache License 2.0 | 4 votes |
public static void justify(final TextView textView) { // 标记是否已经进行过处理,因为 post 回调会在处理后继续触发 final AtomicBoolean isJustify = new AtomicBoolean(false); // 处理前原始字符串 final String textString = textView.getText().toString(); // 用于测量文字宽度,计算分散对齐后的空格宽度 final TextPaint textPaint = textView.getPaint(); CharSequence textViewText = textView.getText(); // 分散对齐后的文字 final Spannable builder = textViewText instanceof Spannable ? (Spannable) textViewText : new SpannableString(textString); // 在 TextView 完成测量绘制之后执行 textView.post(new Runnable() { @Override public void run() { // 判断是否已经处理过 if (!isJustify.get()) { // 获取原始布局总行数 final int lineCount = textView.getLineCount(); // 获取 textView 的宽度 final int textViewWidth = textView.getWidth(); for (int i = 0; i < lineCount; i++) { // 获取行首字符位置和行尾字符位置来截取每行的文字 int lineStart = textView.getLayout().getLineStart(i); int lineEnd = textView.getLayout().getLineEnd(i); String lineString = textString.substring(lineStart, lineEnd); // 最后一行不做处理 if (i == lineCount - 1) { break; } // 行首行尾去掉空格以保证处理后的对齐效果 String trimSpaceText = lineString.trim(); String removeSpaceText = lineString.replaceAll(" ", ""); float removeSpaceWidth = textPaint.measureText(removeSpaceText); float spaceCount = trimSpaceText.length() - removeSpaceText.length(); // 两端对齐时每个空格的重新计算的宽度 float eachSpaceWidth = (textViewWidth - removeSpaceWidth) / spaceCount; // 两端空格需要单独处理 Set<Integer> endsSpace = spacePositionInEnds(lineString); for (int j = 0; j < lineString.length(); j++) { char c = lineString.charAt(j); // 使用透明的 drawable 来填充空格部分 Drawable drawable = new ColorDrawable(0x00ffffff); if (c == ' ') { if (endsSpace.contains(j)) { // 如果是两端的空格,则宽度置为 0 drawable.setBounds(0, 0, 0, 0); } else { drawable.setBounds(0, 0, (int) eachSpaceWidth, 0); } ImageSpan span = new ImageSpan(drawable); builder.setSpan(span, lineStart + j, lineStart + j + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); } } } textView.setText(builder); // 标记处理完毕 isJustify.set(true); } } }); }
Example 19
Source File: TextDrawable.java From stynico with MIT License | 3 votes |
/** * Create a TextDrawable. This uses the given TextView to initialize paint and has initial text * that will be drawn. Initial text can also be useful for reserving space that may otherwise * not be available when setting compound drawables. * * @param tv The TextView / EditText using to initialize this drawable * @param initialText Optional initial text to display * @param bindToViewsText Should this drawable mirror the text in the TextView * @param bindToViewsPaint Should this drawable mirror changes to Paint in the TextView, like textColor, typeface, alpha etc. * Note, this will override any changes made using setColorFilter or setAlpha. */ public TextDrawable(TextView tv, String initialText, boolean bindToViewsText, boolean bindToViewsPaint) { this(tv.getPaint(), initialText); ref = new WeakReference<>(tv); if (bindToViewsText || bindToViewsPaint) { if (bindToViewsText) { tv.addTextChangedListener(this); } mBindToViewPaint = bindToViewsPaint; } }
Example 20
Source File: PagerSlidingTabStrip.java From FriendBook with GNU General Public License v3.0 | 2 votes |
/** * z.chu * @param tv * @return textview contentwidth */ public float getTextViewContentWidth(TextView tv) { TextPaint textPaint = tv.getPaint(); return textPaint.measureText(tv.getText() + ""); }