- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在寻找类似于 LeadingMarginSpan 的东西,但能够将左右边距应用到文本,而不是仅仅应用左边距。
我想做的是可以选择在同一编辑文本中使某些段落比其他段落更窄,因此它可能看起来像这样:
blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah
blah blah
blah blah blah blah blah blah
blah blah blah blah blah blah
blah blah blah blah blah blah
blah
blah blah blah blah blah blah blah blah
blah blah blah blah blah blah blah blah
blah blah blah blah blah
据我所知,没有预定义的 span 可以执行此操作,而且我不知道如何从头开始创建可以执行此操作的新 span。任何帮助将不胜感激!
最佳答案
您不能使用 span 设置正确的填充/边距。但是您可以使用 MetricAffectingSpan
作弊。它有两个方法:updateMeasureState
(测量文本时调用)和updateDrawState
(绘制文本时调用)。
因此,如果您在测量时增加 textScaleX,android 将生成更短的行。如果在绘图时不增加textScaleX,android在绘图时不会缩放线条。结果,你会得到更短的线路。这看起来像正确的填充。
它并不完美:您无法以像素为单位设置正确的内边距,但右侧会有一些内边距。
这里是 5% 的右填充示例。
public class RoughtRightPaddingSpan extends MetricAffectingSpan {
@Override
public void updateMeasureState(TextPaint p) {
p.setTextScaleX(1.05f);
}
@Override
public void updateDrawState(TextPaint tp) {
}
}
关于Android:有没有办法在编辑文本中应用右边距跨度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9828888/
我必须为 IE11 编写一些网格回退。 我想将元素 4 放在右下角,以便元素 1 可以一直向下延伸到底部吗? 我认为这对 flexbox 来说是不可能的,对吧? : https://jsfiddle.
您好,我正在尝试让 2 个 div 在左侧与右侧对齐。 #div1 #div2 #div1 #div2 #div3 #div2 #div3 #div3 诀窍是当浏览器窗口变小时,我希望#div2 位于
如何才能点击 EditText 的右侧可绘制对象(查看屏幕截图)?我尝试了几种方法,但总是卡住。 public static Matcher withEditTextDrawable(final in
这个问题在这里已经有了答案: In CSS Flexbox, why are there no "justify-items" and "justify-self" properties? (6
所以我有 10 个复选框,每个标签都取自数组中相应的索引。我正在使用 ng-repeat 来展示它们: {{entity}}
我是一名优秀的程序员,十分优秀!