Textview环绕视图[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Textview环绕视图[关闭]相关的知识,希望对你有一定的参考价值。

我正在尝试使我的水平布局充分利用可用的空间。

在显示活动的信息中,我有一个“事实框”,后面跟着一大盒文字。我希望信息框可以向右浮动,类似于下图。

这可能使用android TextView api吗?

答案

我建议使用WebView。您可以使用通常的html / CSS格式在Web视图中格式化文本,使用该格式可以很容易地完成所需的布局。

另一答案

找到了解决方案!从源头查看---> answer source

如何将几个布局元素包裹起来

这是人们在处理android上的布局时可能遇到的问题。

假设您要将图像放在句子的中间。你可以添加一些TextView和一个ImageView,但如果水平空间太小,两个TextView将开始独立环绕,这将看起来很奇怪。你希望图像成为TextView的一部分,整个句子可以很好地包裹。为此:*将三个对象替换为一个Spannable TextView *使用SpannableStringBuilder追加所有字符串(不要忘记添加一个额外的字符(例如空格),将被图像替换)*并最终使用在该构建器上的setSpan(ImageSpan,begin,end,flag),其中ImageSpan是包含图片可绘制的ImageSpan,begin是您插入的字符的索引

以下是代码的样子:

将android:bufferType =“spannable”添加到TextView中

SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(mContext.getText(R.string.part1));
int lengthOfPart1 = builder.length();
builder.append(" ");
builder.append(mContext.getText(R.string.part2));
Drawable d = mContext.getResources().getDrawable(R.drawable.picasaIcon);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); // <---- Very important otherwise your image won't appear
ImageSpan myImage = new ImageSpan(d);
builder.setSpan(myImage, lengthOfPart1, lengthOfPart1 + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
myTextView.setText(builder);
另一答案

我知道现在已经很晚了,但对于那些仍在努力实现这一目标的人来说,这里有一个旨在实现这一目标的图书馆。 https://github.com/deano2390/FlowTextView

另一答案

我担心单个TextView无法做到这一点。 TextView必须是矩形,并且无法显示子视图。解决方法可能是创建两个TextView并对文本进行第一次剪切,然后询问第一个textview它可以显示多少,并将其余字符串添加到第二个文本视图。

以上是关于Textview环绕视图[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

SQLite 片段函数实现不会在 TextView 中将文本格式化为 HTML

动态 TextView 未在片段中更新

无法在 Fragment 的 onCreateView 方法中更改 TextView 的文本

将字符串数据从Activity发送到片段[关闭]

同时关闭带有视图的键盘

在 AsyncTask 中将新的 TextView 设置为片段