首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在textview的末尾制作视图,即使textview这么长?

在textview的末尾制作视图,即使textview很长,可以通过使用SpannableString和ImageSpan来实现。SpannableString是Android中用于处理文本样式的类,而ImageSpan是用于在文本中插入图片的类。

下面是一个示例代码,演示如何在textview的末尾插入一个图片视图:

代码语言:txt
复制
// 创建一个SpannableString对象
SpannableString spannableString = new SpannableString("这是一段很长的文本...");

// 获取textview的文本内容
String textViewText = textView.getText().toString();

// 创建一个ImageSpan对象,用于插入图片
Drawable drawable = getResources().getDrawable(R.drawable.your_image);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
ImageSpan imageSpan = new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);

// 在文本末尾插入图片
spannableString.setSpan(imageSpan, textViewText.length(), textViewText.length() + 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);

// 设置textview的文本内容
textView.setText(spannableString);

上述代码中,先创建一个SpannableString对象,然后获取textview的文本内容。接着创建一个ImageSpan对象,并设置图片的边界。最后,使用setSpan方法将ImageSpan对象插入到文本末尾,并设置textview的文本内容为SpannableString。

这样,无论textview的文本有多长,图片都会出现在文本的末尾。

希望这个回答对您有帮助!如果还有其他问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发笔记(三十八)列表类视图

一般情况下自定义适配器继承自BaseAdapter就够用了,当然Android为了方便懒人,专门扩展了两种简单易用适配器,ArrayAdapter用于每行只显示文本情况,而SimpleAdapter...ellipsize : 指定字符超出TextView区域时显示方式,取值说明如下:start表示在字符串开头显示省略号,end表示在字符串末尾显示省略号,middle表示在字符串中间显示省略号,marquee...textAlignment : 指定文本对齐方式,常见取值说明如下:inherit表示继承上级视图对齐方式,center表示文本居中对齐,textStart表示文本开头对齐,textEnd表示文本末尾对齐...,viewStart表示视图开头对齐,viewEnd表示视图末尾对齐。...headerDividersEnabled : 指定是否显示列表开头分隔线。但实际开发中发现这个设置不起作用,即使该属性设置为true,开头也不会显示分隔线。

2.3K20

Android面试之3个RecycleView经典面试题

面试题目1:如何在RecyclerView中实现局部刷新?...3、 使用DiffUtil进行数据更新: 使用DiffUtil类来计算新旧数据集最小差异,并根据这些差异来更新RecyclerView,减少不必要视图更新。...5、 预加载数据: 当用户滑动接近列表底部时,提前加载更多数据,避免到达列表末尾时出现明显加载等待时间。...8、 内存优化: 针对Adapter一样两个列表,共享一个RecyclerViewPool以提高性能。 面试题目3:如何在RecyclerView中实现预加载?...预加载机制可以提前加载即将显示视图,提高滑动流畅性。 实现步骤: 设置预加载阈值:通过LayoutManagersetItemPrefetchEnabled方法设置预加载阈值。

12610
  • Android Studio中layout_gravity与gravity

    1 layout_gravity 在方向(orientation)是垂直(vertical)时,将其中TextView视图layout_gravity属性设置为“right”,如图1所示。...图1 设置layout_gravity 通过布局文件“design”标签可以看到,TextView视图相对于其parent(父视图),其对齐方式变为靠右对齐,如图2所示。...2 gravity 在TextView视图layout_width值是“150dp”时,将其gravity属性值设置为“right”,如图3所示。...图3 设置gravity 通过布局文件“design”标签可以看到,TextView视图中显示“账号”相对于TextView本身,其对齐方式变为靠右对齐,如图4所示。...图4 gravity效果 需要注意是,通过 gravity设置水平方向对齐方式(left、center、right等)时,该视图宽度layout_width必须大于显示内容宽度,不能设置为wrap_content

    1.6K30

    Android Studio preview 不固定及常见问题解决办法

    Android Studio提供了一个强大“Preview”工具,可以帮助您预览您布局文件将如何在用户设备上呈现。XML布局可能是Android开发中最常用资源。...它还允许您查看布局不同配置,例如在纵向或横向时外观,或者TextView在多个语言环境(英语,德语或希腊语)上外观。...即使预览工具是强大,可以使你发展日子轻而易举,与此同时,它也有一些缺点会让程序猿抓狂。这篇文章谈论Preview常见问题和技巧。...这是处理动态内容时常见问题。即使代码编译没有问题,没有人可以在不查看XML代码情况下理解该布局。 当创建使用任何后端数据相关视图布局时,一个好做法是仅在预览时填充它。...问题3:修复损坏预览 如下图所示错误经常发生:创建自定义View时,务必确保您视图可以实例化,而不使用任何在预览期间可能不存在外部依赖项。

    3.8K30

    【Android从零单排系列三十三】《Android布局介绍——FrameLayout》

    FrameLayout会将所有子视图堆叠在同一个位置上,后添加视图会覆盖先前添加视图。...-- 添加子视图 --> 2.在FrameLayout中添加子视图: 可以在FrameLayout中添加多个子视图,后添加视图会覆盖先前添加视图。...textView = findViewById(R.id.textView); // 设置子视图可见性 imageView.setVisibility(View.VISIBLE); textView.setVisibility...四 FrameLayout简单案例 下面是一个简单FrameLayout案例,展示了如何在FrameLayout中添加和切换不同视图: <FrameLayout xmlns:android...(textView); 上述代码演示了如何使用bringChildToFront()方法将指定视图置于顶层,从而实现在FrameLayout中切换不同视图

    43220

    Android入门基础教程(小白速成1)

    新建好项目以后,我们首先认识几个主要用到界面。 MainActivity.java页面,这个页面相当于我们视图。 res文件夹是资源文件配置文件。...开始添加组件 我们添加组件操作是在activity_main.xml上通过拖动完成 最左下角design视图里,我们能通过拖动左边组件,放在右边界面上。...public void test(View view){ //View 表示把点击对象引用传进来 TextView textView =findViewById...button",Toast.LENGTH_SHORT).show(); } 这么定义,主要是为了使这个字符串被多次引用时,调用、修改更为方便。...制作不易,请点个赞再走吧!!! 发布者:全栈程序员栈,转载请注明出处:https://javaforall.cn/136809.html原文链接:https://javaforall.cn

    1.1K20

    【Android从零单排系列二十九】《Android布局介绍——LinerLayout》

    添加子视图元素: 在LinearLayout标签内部添加其他视图组件作为其子元素,例如TextView、Button等。根据需要可以使用不同布局参数来控制子视图大小和对齐方式。...在这种情况下,Button权重是TextView两倍,所以Button会占据 以下是LinearLayout特点和使用方法总结: 方向:LinearLayout可以在水平方向(horizontal...在LinearLayout中添加子视图Button、TextView等)作为其子元素,并使用布局参数(layout_width和layout_height等)设置每个子视图大小和对齐方式。...TextView和Button布局参数(LayoutParams)使用默认值,即wrap_content,表示根据内容自适应宽度和高度。...这个简单LinearLayout案例展示了如何在垂直方向上排列文本和按钮,并通过android:layout_gravity属性实现水平居中对齐。

    23830

    LayoutParams 简单理解

    E文不好看不懂 但是觉得写得啰嗦了 其实这个LayoutParams类是用于child view(子视图) 向 parent view(父视图)传达自己意愿一个东西(孩子想变成什么样向其父亲说明...)其实子视图视图可以简单理解成 一个LinearLayout 和 这个LinearLayout里边一个 TextView 关系 TextView 就算LinearLayout视图 child...可以这样去形容LayoutParams,在象棋棋盘上,每个棋子都占据一个位置,也就是每个棋子都有一个位置信息,这个棋子在4行4列,这里“4行4列”就是棋子LayoutParams。...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。...发布者:全栈程序员栈,转载请注明出处:https://javaforall.cn/191095.html原文链接:https://javaforall.cn

    31430

    安卓软件开发:车机应用实现增加和减少选择数值控件UI

    一、引言 在移动应用开发中,本文讲如何在安卓应用中实现一个增加和减少选择数值控件。 思考: 为什么需要增加和减少控件?...增加和减少控件为用户提供了一种快速、直观方式选择一个数值,而且不需要手动输入。这种控件在许多场景中应用广泛,比如 购物车应用:用于选择商品数量。 设置页面:调节音量、亮度、字体大小等。...TextView 显示当前数值,可以通过点击按钮进行更新。 (2)编码UI逻辑 当用户点击加号或减号时,系统会更新当前显示数值。...设置2个ImageView按钮点击事件监听器,更新TextView值。...(levels[currentLevelIndex - 1]); } 四、效果图和视频效果图 五、结论 通过本文介绍,详细讲解了如何在 Android 应用中实现一个增加和减少数值控件。

    8420

    真·富文本编辑器演进之路-【译】破解Span性能之谜

    我们将探索更多关于spans秘密,以及Android框架如何使用它们。最后,我们将看到我们如何在同一进程或进程之间传递Span,并在此基础上,当你决定创建自己自定义Span时,需要注意那些事项。...,触发视图新绘制。...如果你使用是RecyclerView,请在第一次创建你视图时这样做。...你需要做是保留一个对你可变Span引用,根据你在视图中改变了什么样属性,调用: TextView.invalidate(),如果你只是改变了文本外观,来触发重绘,跳过重做布局。...TextView.requestLayout()如果你做了一个影响文本大小改动,那么视图可以可以负责测量、布局和绘制。 比方说,你有你自定义Bullet实现,其中默认Bullet颜色是红色。

    1.4K10

    iOS界面布局之三——纯代码autoLayout及布局动画

    通过这个对象,我们可以设置类似视图对象之间间距,约束宽高,比例等属性。...,例如,过我要设置view1上边距离父视图上边一定间距,这个view2就是view1视图,如果我要设置view1与另一个视图一定距离,这个view2就是另一个视图。...可以发现,一个如此简单约束方式,我们用这样代码要写这么一大坨,麻烦而且不直观。于是,apple又提供给我们下面一种方式。...2.使用ASCLL字符创造艺术般格式化字符串约束         看到这个小标题是不是眼前一亮,这个标题不是我凭空想象出来,apple文档上就是这么。十分可爱,对吧。...代表是水平布局还是垂直布局,H代表水平,V表示垂直,|表示父视图边沿,-20-表示距离20px,[]内是要布局摆放视图对象名,()中是约束尺寸,H下则为宽度,V下则为高度,@后面的数字代表优先级

    2.9K30

    详解Android SpannableString多行图文混排应用实战

    TeXtView大家应该都不陌生,文本展示控件嘛! 就用TextView显示普普通通文本,OK,很简单,Android入门都会,没入门在门缝外看两眼也都会,哈哈,开玩笑。...那要是设计在开发需求中要求类似微信聊天表情一样在TextView中插入表情图片呢?...嗯 ~ 也行,算是一种方法,可这有一个限制,首先,图片只能在TextView两端,其次,两端都只能设置一张图片。要是图片要在文本中间呢?...,start表示需要设置格式子字符串起始下标,同理end表示末尾下标,flags就是一种标识,共有以下四种属性: Spanned.SPAN_INCLUSIVE_EXCLUSIVE 从起始下标到末尾下标...从起始下标到末尾下标,但都不包括起始下标和末尾下标 Spanned.SPAN_EXCLUSIVE_INCLUSIVE 从起始下标到末尾下标,包括末尾下标 到此,那我们看看如何在代码中实现这一效果呢?

    1.1K10

    Kotlin入门(23)适配器进阶表达

    前面在介绍列表视图和网格视图时,它们适配器代码都存在视图持有者ViewHolder,因为Android对列表类视图提供了回收机制,如果某些列表项在屏幕上看不到了,则系统会自动回收相应视图对象。...这么神奇魔法,快来看看Kotlin适配器代码是如何书写: //利用Kotlin插件LayoutContainer,在适配器中直接使用控件对象,而无需对其进行显式声明 class RecyclerStaggeredAdapter...,所以需要修改模块build.gradle,在文件末尾添加下面几行配置,表示允许引用安卓插件库: androidExtensions {     experimental = true } 即使修改后适配器代码用了新插件...,仔细研究发现这个RecyclerStaggeredAdapter还有三个要素是随着具体业务而变化,包括: 1、列表项布局文件资源编码,R.layout.item_recycler_staggered...; 2、列表项信息数据结构名称,RecyclerInfo; 3、对各种控件对象设置操作,ItemHolder类bind方法; 除了以上三个要素,RecyclerStaggeredAdapter

    1.8K41

    安卓第五夜 维纳斯诞生

    之前各讲中,分别讲解了安卓开发环境、架构和基本概念。从这一讲开始,我将制作一个简单应用,并通过逐步升级它功能,连带出安卓开发多个情境。 《维纳斯诞生》是文艺复兴早期名画。...任务描述 我将制作一个简单欢迎页面。页面中有一个按钮。点击后,将显示制作人姓名。 知识点包括: 新建Activity:通过继承Activity类,来创建一个新类。...属性"vertical",视图元素将从上向下排列。...线性布局中包含一个TextView,以及一个Button按钮。TextView用于显示文本"Welcome"。...这两个属性可以是具体数值,比如"10px",也可以是: "match_parent":与母元素相同 "wrap_content":与包含内容相同,文字本身尺寸 Button还有一个id,即author

    1.4K70

    android学习笔记----关于findViewById那些事

    TextView对象,我们只是在视图树中找到了现有的 TextView,为了与这个视图树中 View 进行交互,我们应该创建变量,用来引用这些具体 View,例如,我们可以创建一个 quantity...,并且传入一个资源 id,findViewById 方法会找到与传入 id 相对应 View,Activity 在 XML 视图层次结构中搜索这个视图,再在 onCreate 方法中处理它,这个...activity onCreate 方法建立了一个视图层次结构。...然后 findViewById 方法遍历它,找到那个视图层次结构中某个 View,这个方法返回值是 View 类型对象。...如果我们这么写 View textView = findViewById(R.id.textview); textView.setText("设置文本"); 结果显示不能解析 setText 方法,这是为什么呢

    34010
    领券