java - 处理长字符串和 TextView 行为
问题描述
我正在开发一个从服务器获取对象并将它们显示在一个简单列表中的 android 应用程序。
我试图弄清楚如何处理长对象的标题:每个标题都填充一个指定的多行 TextView。如果标题超过 16 个字符,它会与我想要的 UI 混淆。
我需要解决两种情况-
1)。如果标题超过 16 个字符并且包含多个单词,我需要将单词分成不同的行(我尝试了.split("")
and .trim()
,但我不想使用另一个视图,只需在同一个视图中换行,并且在我看来使用 in("")
似乎不可靠)。
2)。如果标题超过16个字符且只包含一个长词,我只需要专门更改字体大小即可。
对于一个好的和可靠的解决方案有什么想法吗?
提前非常感谢。
解决方案
用于SpannableString
单个视图
对于标题:
SpannableString titleSpan = new SpannableString("title String");
titleSpan.setSpan(new RelativeSizeSpan(1.3f), 0, titleSpan.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
留言
SpannableString messageSpan = new SpannableString("Message String");
messageSpan.setSpan(new RelativeSizeSpan(1.0f), 0, messageSpan.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
在 TextView 中设置
tvTermsPolicyHeading.setText(TextUtils.concat(titleSpan, messageSpan));
推荐阅读
- python - 变量中的条件字符串匹配
- c++ - 正确检测 Windows 11
- spring-security - 如何在 Spring Boot oauth2 资源服务器中使用自定义身份验证标头
- java - 重写从 orika 到 mapstruct 的集合映射
- python - Tweepy stream.filter() 连接不断超时,但 stream.sample() 工作得很好
- wso2is - WSO2 IS 管理控制台 url 似乎无效
- nginx - Nginx 阻止具有特定自定义标头的所有流量,但某些 url 除外
- wpf - 如何更改从 DataSet 填充的 Highlighted WPF DataGridCell?
- xamarin - 如何根据从 Web API 给出的 JWT 令牌读取的声明更改 Xamarin Forms UI
- dynamic - MsalProvider - 动态 msal 配置