- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 TextView,在其中显示具有不同 Span 大小的 SpannableString。我需要知道 SpannableString 中最后一个单词的确切高度,但我使用的方法是错误的。我做错了什么?
这是我正在使用的测试代码
SpannableStringBuilder spannableString = new SpannableStringBuilder("Some Text Some Text Some Text Some Text Some Text Some Text Some Text Some Text Some Text");
spannableString.setSpan(new AbsoluteSizeSpan(10, true), 0, spannableString.length() / 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new AbsoluteSizeSpan(15, true), spannableString.length()/3, 2 * spannableString.length()/3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(new AbsoluteSizeSpan(20, true), 2 * spannableString.length() / 3, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
surfaceView.setTranslationY(measureSpannableHeight());
private int measureSpannableHeight() {
StaticLayout staticLayout = new StaticLayout(spannableString, new TextPaint(), 480, Layout.Alignment.ALIGN_NORMAL, 1, 0, false);
return staticLayout.getHeight();
}
(surfaceview的翻译只是为了说明measure方法的高度结果)
最佳答案
构建一个 paint 对象并为 paint 设置等效的 span 属性后,您可以使用以下方法测量字高。
Paint mTextPaint = new Paint();
mTextPaint.setTextSize(20) // your span size
mTextPaint.setTypeface(typeface)
单词的维度将保存在这个 Rect 中
Rect textBounds = new Rect();
int startIndex = spannableString.length() - 4; //length of your last word as start and end indices.
int endIndex = spannableString.length();
mTextPaint.getTextBounds(spannableString, startIndex, endIndex, textBounds);
int height = textBounds.height();
关于android - 如何测量 SpannableString 的高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31840986/
我正在使用一段代码,该代码在 SpannableString 文本中查找正则表达式,并删除该表达式的任何实例的第一个和最后一个字符 - 在本例中,文本由 [方括号] 绑定(bind)。 输出应该是相同
我有一段代码使用 SpannableString 将一些图像添加到 EditText 中,如下所示: SpannableString ss = new SpannableString("Some ra
我知道 SpannableString 可以在一个 TextView 中设置不同的文本大小,但如果以编程方式添加 TextView ,则它不起作用。 String s = "Best Ever"; S
我想通过 Intent 发布一个带有 SpannableString 的对象。我让对象实现 Serializable,但它会抛出 java.io.NotSerializableException: a
目前我有一个 SpannableString 对象,其中设置了多个 Clickable 对象。因此,一个字符串有许多可点击对象,并且根据用户点击的单词/部分,应用程序将继续并处理该点击事件。前几天我在
我正在尝试构建一个 SpannableString,使其看起来像这样: 两个字符 (m, s) 应该比其他字符小。我试图将所有文本保存在一个 SpannableString 中,并且我还尝试通过 Sp
我正在寻找如何使用 ImageSpan 构建和显示 Android SpannableString 的示例。类似笑脸的内联显示。 非常感谢。 最佳答案 找到以下内容,它似乎可以完成这项工作: publ
我想创建与此图片类似的东西: 我设法用 SpannableStringBuilder 创建了evertyhing,橙色圆角矩形除外。我可以使用 BackgroundColorSpan 将背景设置为该颜
我有一个 TextView,在其中显示具有不同 Span 大小的 SpannableString。我需要知道 SpannableString 中最后一个单词的确切高度,但我使用的方法是错误的。我做错了
情况: 我有读取通知文本的代码 String notificationText = sbn.getNotification().extras.getString("android.text"); 当读
对于一个项目,我必须在 EditText 中使用一些属性编辑文本,例如粗体、斜体、大小等。因此,我制作了一个 CustomSpan,它实现了 StyleSpan,具有我需要的所有属性。在我的代码下面:
我有一个网址,我希望它只显示为一个单词,单击它会从我的警报对话框中打开 Web 浏览器。一切正常,只是现在显示了完整的网址。我不知道如何隐藏这一点。这是我的 java 文件中的代码。 Tv = ((T
我有一个 HTML 格式的字符串并保存为 SpannableString。在配置更改等 onSaveInstanceState 之前调用 onRestoreInstanceState 以恢复状态等。我
我有一个带有自定义列表适配器(扩展了 BaseAdapter)的 ListView。我的列表项的 View 是从这个布局中膨胀的: 在 g
你好,下午好,我需要 SpannableString 类的帮助,我对这个类很陌生,到目前为止,我已经在我的 onCreate() 方法中创建了这段代码: String texto = "Tex
我使用以下代码,它将错误的文本范围包装为粗体 final StyleSpan span = new StyleSpan(BOLD); SpannableString ss = new
我有一个 TextView,里面有一个 SpannableString 来突出显示搜索到的词。像这样: 可以看出,我正在使用 android:lineSpacingExtra 为线条提供合适的间距,
我想在我的 TextView 中显示一个图像,在文本本身的前面。我尝试了 CompoundDrawable 但第二行的文本没有出现在第一行的图像下方。 我需要这样的东西: var imageSpan
我正在尝试制作一款游戏来帮助 children 学习数学。我给代码编号上色,以便它们可以遵循逻辑。我还使用 textView.append() 构建一个长字符串以放入 Activity 中。 因为我在
添加到 spannable 的 span 的优先级会影响它在 TextView 中的外观。当我们向如下所示的 spannable 添加两个嵌套的字符样式时 SpannableStringBuilder
我是一名优秀的程序员,十分优秀!