我正在尝试让我的水平布局充分利用可用空间。
在显示 Activity 的信息中,我有一个“事实框”,后跟一个大文本框。我希望信息框向右浮动,类似于下图。
这可以使用android TextView api吗?
最佳答案
找到了这个解决方案!!从源代码查看 ---> 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);
关于android - Textview环绕 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3626750/