- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我使用与 this question 相同的标题,因为我认为我的问题与那个问题非常相似,所以我非常仔细地阅读并测试了接受的答案,但是接受的答案对我不起作用。让我描述一下我的问题:
我的代码如下:
EditText myEdit = (EditText) this.findViewById(R.id.myedit);
myEdit.setText("a\nb\n");
Spannable s = myEdit.getText();
s.setSpan(new BulletSpan(30), 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
s.setSpan(new BulletSpan(30), 2, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
s.setSpan(new BulletSpan(30), 4, 4, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
myEdit.setText(s);
我想看到的是:
我尝试了 Spannable.SPAN_INCLUSIVE_INCLUSIVE
、Spannable.SPAN_INCLUSIVE_EXCLUSIVE
、Spannable.SPAN_EXCLUSIVE_INCLUSIVE
、Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
,但是这些标志都不适合我。
如果我使用这些代码:
EditText myEdit = (EditText) this.findViewById(R.id.myedit);
myEdit.setText("a\nb\nc");
Spannable s = myEdit.getText();
s.setSpan(new BulletSpan(30), 0, 1, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
s.setSpan(new BulletSpan(30), 2, 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
s.setSpan(new BulletSpan(30), 4, 5, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
myEdit.setText(s);
然后我得到了预期的结果:
我正在使用富文本编辑器,当用户单击项目符号图标时,我需要显示一个空的项目符号,但现在我不确定可能是什么问题,因为我想制作一个新的空 BulletSpan(仅一个点,但后面没有字符),但如果 Spanned 的开头和结尾没有字符,则该点不会显示。
最佳答案
这是一个丑陋的解决方案,但我还没有找到更好的解决方案 - 尝试在末尾添加一个空字符(类似于零宽度空间)。这会产生您想要的结果(至少在视觉上):
public void setBulletText(EditText myEdit, String text) {
String[] lines = TextUtils.split(text, "\n");
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
String line = null;
for (int index = 0; index < lines.length; ++index) {
line = lines[index];
int length = spannableStringBuilder.length();
spannableStringBuilder.append(line);
if (index != lines.length - 1) {
spannableStringBuilder.append("\n");
} else if (TextUtils.isEmpty(line)) {
spannableStringBuilder.append("\u200B");
}
spannableStringBuilder.setSpan(new BulletSpan(30), length, length + 1,
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
}
myEdit.setText(spannableStringBuilder);
}
结果是:
理想情况下,我会制作一个自定义 EditText
类,在内部附加此字符,但在将文本发送到任何其他对象时将其删除。
关于Android 编辑文本 : How to create an empty bullet paragraph by BulletSpan?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26399111/
我尝试将 BulletSpan 插入 SpannableStringBuilder,但 BulletSpan 从未出现。 private void insertBulletSpan(Spannable
我尝试将 BulletSpan 插入 SpannableStringBuilder,但 BulletSpan 从未出现。 private void insertBulletSpan(Spannable
我想创建一个空的项目符号段落,但没有成功。这是我的代码: EditText contentET = (EditText) findViewById(R.id.content); contentET.s
我已经尝试解决我的问题 2 天了,但没有成功。 问题是:当我将 BulletSpan 设置为文本,然后在 EditText 中显示它时,一切正常,直到我开始输入另一个文本。当文本在屏幕末尾换行时,缩进
将 BulletSpan 添加到 EditText 时,EditText 的大小不会随着项目符号添加的前导空格而增加。这会导致文本环绕或滚动到看不见的地方。 到目前为止,我无法强制 EditText
我使用与 this question 相同的标题,因为我认为我的问题与那个问题非常相似,所以我非常仔细地阅读并测试了接受的答案,但是接受的答案对我不起作用。让我描述一下我的问题: 我的代码如下: E
如何在 API 级别 28 以下使用 BulletSpan(gapWidth, color, bulletRadius)?我无法将 bulletRadius 设置为低于 api 级别 28。任何帮助将
我是一名优秀的程序员,十分优秀!