Android开发(15)-TextView显示丰富的文本

Android letterSpacing导致TextView文本被截断 (Android10 11目前有这个问题 Android15似乎有新的属性 但是没有可用的环境 没有验证)简介多个属性同时作用情况下 在系统为阿拉伯语情况下,显示英文文本字符串出现截断问题UX需求:1.有两个控件 address displayNameaddress自适应宽度 displayName在address之后占满剩余空间2.系统为阿拉伯语情况下控件位置需要调换(父控件 android:layoutDirection="locale" 实现) 阅读详情

如图,显示html的元素控件,点击连接实现上网,发email,拨号

实现源码如下:

MainActivity.java

  1. package com.example.textview2;  
  2. import android.os.Bundle;  
  3. import android.app.Activity;  
  4. import android.text.Html;  
  5. import android.text.method.LinkMovementMethod;  
  6. import android.view.Menu;  
  7. import android.widget.TextView;  
  8.   
  9. public class MainActivity extends Activity {  
  10.     private TextView textView1, textView2;  
  11.     @Override  
  12.     protected void onCreate(Bundle savedInstanceState) {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.activity_main);  
  15.         textView1 = (TextView) this.findViewById(R.id.textview1);  
  16.         textView2 = (TextView) this.findViewById(R.id.textview2);  
  17.         // 添加一段html的标志  
  18.         String html = "<font color='red'></font><br><br><br>";  
  19.         html += "<font color='#0000ff'><big><i></i></big></font><p>";  
  20.         html += "<big><a href='http://www.baidu.com'>百度</a></big><br>";  
  21.         CharSequence charSequence = Html.fromHtml(html);  
  22.         textView1.setText(charSequence);  
  23.         textView1.setMovementMethod(LinkMovementMethod.getInstance());// 点击的时候产生超链接  
  24.   
  25.         String text = "我的URL:http://www.sina.com\n";  
  26.         text += "我的email:abcd@126.com\n";  
  27.         text += "我的电话:+ 86 010-89487389";  
  28.         textView2.setText(text);  
  29.         textView2.setMovementMethod(LinkMovementMethod.getInstance());  
  30.     }  
  31.   
  32.     @Override  
  33.     public boolean onCreateOptionsMenu(Menu menu) {  
  34.         // Inflate the menu; this adds items to the action bar if it is present.  
  35.         getMenuInflater().inflate(R.menu.main, menu);  
  36.         return true;  
  37.     }  
  38.   
  39. }  


strings.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.   
  4.       
  5.     <string name="action_settings">Settings</string>  
  6.     <string name="hello_world">Hello world!</string>  
  7.     <string name="app_name">如何显示html的元素控件</string>  
  8.     <color name="green">#00FF00</color>  
  9.     <string name="link_text"><a href="tel:13693207964">打电话</a></string>  
  10. </resources>  

 

activity_main.xml

  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     xmlns:tools="http://schemas.android.com/tools"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:paddingBottom="@dimen/activity_vertical_margin"  
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"  
  7.     android:paddingRight="@dimen/activity_horizontal_margin"  
  8.     android:paddingTop="@dimen/activity_vertical_margin"  
  9.     tools:context=".MainActivity" >  
  10.   
  11.    <TextView android:layout_width="fill_parent"  
  12.         android:layout_height="wrap_content" android:id="@+id/textview1"  
  13.         android:padding="20sp" />  
  14.   
  15.     <TextView  
  16.         android:id="@+id/textview2"  
  17.         android:layout_width="fill_parent"  
  18.         android:layout_height="wrap_content"  
  19.         android:autoLink="all"  
  20.         android:padding="20sp"  
  21.         android:text="@string/link_text"  
  22.         android:textSize="20sp" />  
  23.   
  24. </RelativeLayout>

android、鸿蒙开发--第一章-->初识文本显示框:“TextView“ 1.Android、鸿蒙文本框初始对比 阅读详情

相关推荐

Android代码-让AndroidHTML类支持显示更多Tag,极大的丰富了TextView可以展示的Tag类型。

HtmlCompat Compaibility library for Android's Html class. DEPRECATED Google has introduced the official HtmlCompat library as part of AndroidX. This library will no longer be updated or maintained; please use the official library. Why? Nougat introduced improvements to the Html class for converting HTML to spannables. Unfortunately, these new features lay within the Android SDK itself. This means that the behavior in which HTML is converted is subject to the version of Android that the user is r

recycleview使用网格布局,文字和图片部分显示不出来,TextView的setText()没起作用

recycleview使用网格布局,部分文字和图片显示不出来,使用的GridLayoutManager设置也没有问题,在最开始的时候,字体设置的稍小一点,能显示正常,字体调到老板要求的大小的时候,问题出现了,一个item里有的显示图片不显示文字,有的图片和文字都不显示,显示的item比实际的item少。打印log的时候,position数量正常,后台获取的文字能正常打印出来,但是将正常的文字se...

blackei的博客 1473

避开STM32中断优先级配置的坑:HAL_NVIC_SetPriority()参数你真的用对了吗?

本文深入解析STM32中断优先级配置中的关键问题,重点剖析HAL_NVIC_SetPriority()函数的正确使用方法。通过实际案例揭示优先级分组设置、抢占优先级与子优先级的区别,提供多中断系统中的优化策略和调试技巧,帮助开发者避免常见配置错误,提升系统稳定性。

weixin_42532938的博客 423

TextView渲染机制与优化(StaticLayout),TextView上的文字分散对齐,TextView用处

Android 字体适配的各种场景- https://github.com/wildma/FontAdaptation -- TextView中的.setText和.append的区别: setText()把以前的内容冲掉了,append()在以前的内容后面添加。 -- TextView用drawableLeft/Right时,改变文字和图片间的距离: 利用drawablePadding属性...

ShareUs的专栏 3067

GPIB通讯的代码怎么写

GPIB(General Purpose Interface Bus)是一种用于连接计算机和测试设备的接口标准。 在写 GPIB 通讯的代码时,首先需要在计算机上安装 GPIB 驱动程序。然后,使用相应的编程语言和 GPIB 库函数来操作 GPIB 设备。 下面是一个使用 Python 语言和 pyvisa 库来实现 GPIB 通讯的示例代码: import visa# 创建 Visa 资源管理器...

weixin_35752645的博客 1546

Vivado 2021.1 实战:手把手教你用IEEE1735 V2加密你的Verilog源码(附完整TCL命令)

本文详细介绍了在Vivado 2021.1中使用IEEE1735 V2标准加密Verilog源码的全流程,包括许可证申请、密钥文件配置、TCL命令执行及加密后验证。通过实战步骤和完整TCL命令,帮助开发者有效保护FPGA设计知识产权,确保核心算法安全。

weixin_42706667的博客 191

android字符串如何换行显示不全,android - 手动填充TextView的资源字符串,不显示换行符(\\ n) - 堆栈内存溢出...

我正在膨胀一个TextView,它引用了一个资源字符串,该资源字符串包含不显示的换行符(尝试\\ n,\\ r \\ n,\\ n \\ n)(获取长而被截断的单行文本)。代码如下:注意:目前该应用程序的目标版本是Android的旧版本(API 15 / 4.0.3,即将升级),我只需要暂时修复一些错误即可。 我有4.4平板电脑,可以尝试一下,看看是否可以缓解问题。通话功能public void...

weixin_42518930的博客 348

实战指南:如何用DCCRN模型提升语音增强效果(附代码示例)

本文提供了基于DCCRN模型进行语音增强的实战指南。通过深入解析复数网络如何协同处理语音的幅度与相位信息,并附有完整的PyTorch代码实现,帮助开发者从数据准备、模型搭建到训练调优,构建高效的实时语音增强系统,有效提升嘈杂环境下的语音清晰度。

weixin_29054245的博客 479

android开发过程中的坑点(一)

和任何开发一样,android 开发过程中也会遇到很多坑点,而这些坑点有时候严重影响我们的开发速度,有时候甚至花费大量的时间去处理这些看似很小的问题,所以作为开发者必须要时刻警惕这些坑点,虽然不能解决所有的问题,但是知道的越多肯定开发效率越高啦

波纹的博客 469

用Python爬取公众号历史所有文章,看这篇就够了

手把手教你爬取公众号历史所有文章

u010522887的专栏 1万+

初探Proxmox Datacenter Manager:统一管理多集群与单节点的利器

本文介绍了Proxmox Datacenter Manager (PDM) 这一统一管理工具,它能有效解决多套Proxmox VE环境(包括集群和单节点)管理碎片化的痛点。文章详细阐述了PDM的核心功能、安装部署步骤,并通过实战演示了如何添加单节点与整个集群,实现资源的集中监控与基础运维,为运维人员提供了高效的集中管理解决方案。

weixin_29217235的博客 160

android textview显示不下,Android TextView不显示我的所有文本

我正在制作一个疯狂的lib,并且获取用户输入,然后删除输入控件并在TextView中显示文本结果。我也使用了一个stringbuilder和一个字符串的arrayLists。我试着用stringbuilder和arraylist将所有文本放入textview中,但它只显示一半。Android TextView不显示我的所有文本我的控制android:text=""android:layout_wi...

weixin_34005314的博客 1205

LabVIEW安装NI-DAQmx的方法(适合2021版和2022版)

LabVIEW安装NI-DAQmx的方法(适合2021版和2022版)

qq_65101190的博客 2万+

浅谈 Android 15 新 API:确保 TextView 完整展示、不被切断~

很多语言和文字拥有特殊的、复杂的写法、画法,一个字符可能延伸到前一个字符的区域,甚至后一个字符的区域。如果文字的宽度没有做针对这种文字做额外的加宽处理,那么文字整体在边界区域会出现被切掉的现象。比如如下的文字类型,最右边的文字ร์的右上角的符号没有显示完全。针对这个痛点,Android 15 进行了优化,如果 app 面向 Android 15 及更高的版本后,可以采用设置为 true,就可以拓宽 TextView 的显示区域。

allisonchen的专栏 2159

【AI智能体】Codex + Seedance2.5 制作AI视频实战操作详解

【AI智能体】Codex + Seedance2.5 制作AI视频实战操作详解

congge_study的博客 3807

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TextView文本尾部添加标签,支持自动换行

文章目录TextView文本尾部添加标签,支持自动换行需求使用SpannableStringBuilder + ImageSpan实现代码实现参考 TextView文本尾部添加标签,支持自动换行 需求 开发过程中我们经常会遇到文字尾部添加标签的需求,看是很简单,其实蛮难做的。比如我们的设计稿如下: 打眼一看,一个水平方向线性布局就解决了,内部写两个TextView就行。 <LinearLa...

tinyVampire的博客 4900

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TextView文本和DrawableStart居中显示

一.本文实现的效果是TextView包裹的图标和Text一起居中显示,且TextView的宽度为match_content,效果如图所示: 二.附自定义TextView代码: import android.content.Context; import android.graphics.Canvas; import android.graphics.drawable.Drawable; import android.text.Layout; import android.util.AttributeSet

cyfxiaochen的专栏 4439

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

解决:安卓中Dialog使用了TextView,但是文字显示不出来的问题

今天在写安卓的时候,需要设置一个对话框Dialog,但是发现有的TextView中的文字居然显示不出来。 当时现场: 我设计的样式是这样的! 弹出来的样子是这样的! 当时的xml代码是这样的!(展示第一行的布局) <LinearLayout android:layout_width="match_parent" android:layout_height="...

bingtang21的博客 2361

Android开发-Android TextView各属性的用法

Android TextView是最常用的控件(没有之一),下面,列出了TextView的各个属性的用法。 android:hintText为空时显示的文字提示信息。android:lines设置文本的行数。android:lineSpacingMultiplier设置行间距的倍数。如”1.2”。 android:text设置显示文本...

记录和分享程序人生的点点滴滴 2153

Android非断行空格使用指南:Advanced Android TextView文本排版优化终极教程

在Android应用开发中,文本排版的质量直接影响用户体验。你是否遇到过文本换行时出现孤立的单词,破坏了整体美感?😟 这正是Advanced Android TextView项目中的非断行空格技术要解决的核心问题!本文将为你详细解析Android非断行空格的使用方法,帮助你实现专业级的文本排版优化。 ## 什么是非断行空格? 非断行空格(Non-breaking Space)是一种特殊的空格

gitblog_00886的博客 982

TextView显示富文本方式总结

Android开发的过程中,经常需要用到富文本的展示。这里就总结一下,如何使用TextView展示富文本内容。个人非常喜欢使用。如果有其它更好的展示方法,请来者在留言中告诉我,互相学习,共同进步 TextView 展示富文本的依赖基础 SpannableString 用于富文本修饰的文本类,实现 CharSequence接口,内容不可修改,可以被TextView直接加载。Spanna...

阶乘的闲庭信步 4168

Android TextView多色显示实现与Spannable应用详解

在Android UI开发中,文本样式控制是基础但关键的技术点。通过Spannable接口,开发者可以在单个TextView中实现多色文本、混合样式等高级效果,其核心原理是利用Span对象对文本的不同区间附加样式属性。这种技术不仅提升了UI表现力,还能优化布局性能(相比多个TextView组合)。典型的应用场景包括电商价格对比、聊天关键词高亮、文本重点标注等。实现时需注意SpannableString与SpannableStringBuilder的选择,前者适合静态文本,后者支持动态修改。结合正则表达式可以

weixin_34242509的博客 438

Android 原生控件之一 TextView

Android 原生控件之一 TextView前言来源开始XML属性1、android:allowUndo2、android:autoLink3、android:autoSizeMaxTextSize4、android:autoSizeMinTextSize5、android:autoSizePresetSizes6、android:autoSizeStepGranularity7、android...

杨迪龙的博客 4841

android TextView属性汇总

TextView属性 android:text 设置显示文本. android:textappearance 设置文字外观。如“?android:attr/textappearancelargeinverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可textappearancebutton/textappearanceinverse/tex...

streate的专栏 1万+

android文字多行滚动显示,Android TextView多行文本滚动实现

Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局。只要在layout中简单设置几个属性就可以轻松实现123456789android:id="@+id/tvCWJ"android:layout_width="fill_parent"android:layou...

weixin_35698659的博客 4023
上一篇: Android开发(14)-- 多线程中实现利用自定义控件绘制小球并完成小球自动下落的功能
下一篇: Android开发(16)-TextView显示表情图像和文字
liu_yaoyang
博客等级 码龄19年 5粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值