相关文章推荐
留胡子的香菜  ·  如何在React中将响应中的二进制数组转换为 ...·  1 年前    · 
有腹肌的板凳  ·  wpf execute command ...·  1 年前    · 
坏坏的小熊猫  ·  java获取服务器时间-掘金·  2 年前    · 
旅途中的羊肉串  ·  RecyclerView扩展(六) - ...·  2 年前    · 
酒量小的牛排  ·  使用PSExec与本地管理员提示访问被拒绝_ ...·  2 年前    · 
Code  ›  如何在调整TextView大小时自动换行?
大数据 社区功能 自动换行
https://www.volcengine.com/theme/6008229-R-7-1
热心的砖头
1 年前
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
文档 备案 控制台
登录 立即注册
新用户特惠 体验中心 开发者社区
新用户特惠专场爆品特价
火山引擎首页
全站搜索
R
如何在调整TextView大小时自动换行?

如何在调整TextView大小时自动换行?

可以使用自定义的TextView并结合TextWatcher实现该功能。首先,重写TextView的onTextChanged方法,在其中通过计算当前文本宽度和TextView的宽度得出是否需要自动换行。如果需要,就在当前光标位置插入一个换行符。代码示例如下:

public class WrapContentTextView extends TextView {
  private int mLastWidth = 0;
  public WrapContentTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
  @Override
  protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) {
    if (getWidth() == mLastWidth) {
      return;
    mLastWidth = getWidth();
    int lineCount = getLineCount();
    int lineHeight = getHeight() / lineCount;
    Layout layout = getLayout();
    int lastLineStart = layout.getLineStart(lineCount - 1);
    int lastLineEnd = layout.getLineEnd(lineCount - 1);
    int lastLineWidth = (int) layout.getLineWidth(lineCount - 1);
    if (lastLineWidth > getWidth()) {
      String newText = text.subSequence(0, lastLineStart) + "\n" + text.subSequence(lastLineStart, text.length());
      setText(newText);
      setSelection(lastLineStart + 1);

然后在Activity中使用这个自定义的TextView,并添加TextWatcher监听器,如下所示:

WrapContentTextView textView = findViewById(R.id.text_view);
textView.addTextChangedListener(new TextWatcher() {
  @Override
  public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
  @Override
  public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    // do something
  @Override
  public void afterTextChanged(Editable editable) {
    // do something

这样,在TextView的文本内容发生改变时,会自动进行换行。

免责声明
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系 service@volcengine.com 进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多

开发者特惠

面向开发者的云福利中心,ECS9.9元起,域名1元起,助力开发者快速在云上构建应用
ECS 9.9元起

域名注册服务

cn/com热门域名1元起,实名认证即享
¥ 1 . 00 / 首年起 32.00/首年起
新客专享 限购1个
立即购买

云服务器共享型1核2G

超强性价比,适合个人、测试等场景使用
¥ 9 . 90 / 月 101.00/月
新客专享 限购1台
立即购买

CDN国内流量包100G

同时抵扣两种流量消耗,加速分发更实惠
¥ 2 . 00 / 年 20.00/年
新客专享 限购1个
立即购买

如何在调整TextView大小时自动换行? -优选内容

样式结构
新建样式时后端生成的唯一标识 ID。 name String 是 样式名称。 width Integer 是 画布宽度,取值范围为 (0, 10000]。 height Integer 是 画布高度,取值范围为 (0, 10000]。 unit String 否 尺寸 单位。表示画布宽度... 取值如下所示: true:不 自动换行 ,要素长度等于单行 文本 的最大长度; false:将根据要素 大小自动换行 。 border JSON Object 否 文字边框,默认无边框。 二维码 qrcode type Integer 是 二维码类型,取值如下所示: ...
来自: 文档
关于移动端适配你了解多少? | 社区征文
##### **ideal viewport:理想视口**理想视口,即`页面绘制区域可以完美适配设备宽度的视口 大小 `,不需要出现滚动条即可正常查看网站的所有内容,且文字图片清晰。这也是我们为什么需要使用viewport的原因。![kkk... ` 元素表示那些不能由其它`HTML`元相关元素之一表示的任何元数据信息,它可以告诉浏览器如何解析页面。我们可以借助` `元素的`viewport`来帮助我们 设置 视口、缩放等,从而让移动端得到更好的展示效果``` ````vi...
来自: 开发者社区
MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文
无需 更改 控件的 `visibility` 属性,添加 Tools:visibility=true 即可预览布局的变化`Motion Editor` 则是支持 MotionLayout 类型布局的视觉设计编辑器,可让更轻松地创建和预览和调试动画。`Layout Inspector` 则可以查看某进程某画面的详细布局,完整展示 View 树的各项属性。在不方便代码调试或剖析其他 App 的情况下非常好用。**同时已经支持直接检查 Compose 编写的 UI 布局了,喜极而泣。** ### 2.3 Realtime Profilers A...
来自: 开发者社区
居家办公更要高效 - 自动 化办公完美提升摸鱼时间 | 社区征文
自动 化办公的神器双手奉上,废话不多说,上才艺。说到办公,每天都少不了要和各种文档打交道,csv,excel,word,ppt,pdf 甚至 txt 文本 文件,需要对这些文档做各种操作,有很多还是比较机械化的重复工作,枯燥且无味,花... 所以我在想,能不能这段代码,生成 PPT,一劳永逸,经过努力寻找,发现还真有这神奇的东西,上菜:**PPT 自动 化能干什么?有什么优势?**1. 它可以代替你 自动 制作 PPT1. 它可以减少你 调整 用于 调整 PPT 格式的时间...
来自: 开发者社区

如何在调整TextView大小时自动换行? -相关内容

支持百万数据秒级渲染,字节跳动开源高性能表格组件库 VTable
**' text ' 文本 类型** :用于展示文字数据。同时支持多种样式和格式,如字体 大小 、颜色、加粗、斜体、 自动换行 等,也可对数据进行格式化,来满足不同的排版需求。2. **'link'链接类型** :将数据转化为超链接,点击链接可... ** 调整 列宽****![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/1e244de3b7774120afe54e1a8ab8ec22~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1706458821&...
来自: 开发者社区
概览
setPlayerView 设置 与 TVULiveRoomServer 实例绑定的 PlayerView 实例。 setRoomAuthMode 设置 直播间的鉴权模式。 setListener 设置 直播间的监听器。 start 开启直播间。调用此方法后,TVULiveRoomServer ... setVodAutoSeekTipTextVisible 设置 直播间内是否显示点播视频 自动 断点续播后的提示。 setVodAutoSeekTipTextSize 设置 直播间内点播视频 自动 断点续播提示的文字 大小 。 setEnterFullScreenEnable 设置 是否支持...
来自: 文档
表格
2.2.3 按需 修改 图表样式 3. 功能介绍 3.1 配置规则维度 :支持 0 个或多个维度。指标 :支持 0 个或多个指标。组合规则:1 个或多个维度 0 个或多个指标;0 个或多个维度 1 个或多个指标示例 :1 个维度,3 个指标 3.2 ... 配置无效 自动换行 当 文本 超过表格宽度时,默认对 文本 进行省略展示。如果想展示更多或全部 文本 ,可拉长表格宽度或 设置自动换行 。 3.2.2 翻页器在数据条目较多时,可对表格配置翻页器。翻页器支持最小支持每 10 条分页...
来自: 文档
深度解读 Android 14 重要的 8 个新特性|社区征文
TextView Highlight, 文本 高亮0. New System Back Design,全新的系统返回设计0. Custom Action on Share Sheet,支持自定义操作的系统分享0. Locale Preferences,区域偏好0. Grammar Gender,语法性别0. ... Note 类的 App 难免遇到 设置文本 Highlight 的需求,而传统的实现办法无非是 `Spannable`。但这种方式的代码稍显复杂、而且无法方便地更新高亮。那么 14 里针对这个痛点提供了专门的 API 即 `HighLights`,提供了更...
来自: 开发者社区
明细表
维度和指标按数据面板中的排列顺序展示在明细表中。指标不会进行聚合。 3.3 图表配置3.3.1 基本格式序号:在每条数据前增加序号,可在数据条目较多时,迅速找到某一行的数据。 行列转置:默认数据为横向展示,勾选「行列转置」后,数据为纵向展示。 需注意:数据条目数在 100 以内,可进行行列转置。超过 100 条,则无法配置 自动换行 :当 文本 超过表格宽度时,默认对 文本 进行省略展示。如果想展示更多或全部 文本 ,可拉长表格宽度或 设置自 ...
来自: 文档
视频剪辑参数
LineMaxWidth Float 否 自动换行 宽度。取值如下: -1(默认)代表不 自动换行 。 0 ~ 1 代表 自动换行 。如果 Typesetting 参数取值为 0 基准是 TransformFilter 的 Width 大小 。 如果 Typesetting 参数取值为 1 基准是 TransformFilter 的 Height 大小 。 Typesetting Float 否 文字排列方向: 0: (默认)文字横排。 1: 文字竖排。 AlignType Float 否 文本 对齐方式。需要和 Typesetting 参数配合使用。 当文字横排时, 文本 ...
来自: 文档
iOS SDK集成
大小 为 303.35KB 3 初始化 SDK3.1 获取初始化必备 id3.1.1 获取项目 id 和应用 id 在gmp首页,点击右上角头像-项目管理,即可进入项目后台页查看对应项目的项目id和应用id(项目id是初始化资源位sdk的appid,应用id是... swift let reachConfig = GMPReachConfig()// 设置自动 更新 uuid 为关闭reachConfig.isAutoUpdateUserId = false // ...省略其他配置...GMPResourceManager.start(with: reachConfig)以下配置在各个SDK版本均...
来自: 文档

体验中心

通用文字识别

OCR
对图片中的文字进行检测和识别,支持汉语、英语等语种
体验demo

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

火山引擎·增长动力

助力企业快速增长
了解详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

新用户特惠专场

云服务器9.9元限量秒杀
查看活动

相关主题

如何在调整浏览器窗口大小时保持元素的位置? 如何在调整浏览器大小时防止内容重叠? 如何在调整浏览器大小时,利用Transform属性来保持元素的位置? 如何在调整浏览器宽度时将图片置于文本下方。 如何在调整屏幕尺寸时配置dash应用程序布局? 如何在调整屏幕大小时对Bootstrap5列进行排序 如何在调整屏幕大小时使画布元素具有响应性? 如何在调整屏幕宽度时移除右侧多余的空间? 如何在调整视口大小时防止图像比例发生变化? 如何在调整System.Drawing.Bitmap大小时禁用反锯齿?
搜索反馈
您找到想要的搜索结果了吗?
是的
没有找到
* 搜索内容
23 / 50
* 问题与意见
 
推荐文章
留胡子的香菜  ·  如何在React中将响应中的二进制数组转换为字符串?
1 年前
有腹肌的板凳  ·  wpf execute command on combobox selectionchanged-掘金
1 年前
坏坏的小熊猫  ·  java获取服务器时间-掘金
2 年前
旅途中的羊肉串  ·  RecyclerView扩展(六) - RecyclerView平滑滑动的实现原理 - 琼珶和予 - 简书
2 年前
酒量小的牛排  ·  使用PSExec与本地管理员提示访问被拒绝_weixin_34318326的博客-CSDN博客
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号