Tho*_*hle 29 android textbox alignment textview android-layout
我正在尝试使我的水平布局充分利用可用的空间.
在显示活动的信息中,我有一个"事实框",后面跟着一大盒文字.我希望信息框可以向右浮动,类似于下图.
这可能使用android TextView api吗?

小智 11
找到了解决方案!从源头检查出来---> 回答来源
如何将几个布局元素包裹起来
这是人们在处理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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12665 次 |
| 最近记录: |