首页
学习
活动
专区
圈层
工具
发布

会变色的TextView

一条聊天信息中,发送者名字的颜色是会随机改变,而内容信息是固定一个颜色。 ? 你认为先实现这方法很简单,使用两个 TextView 控件就可以搞定完事。...左边的 TextView 放置名字,右边的 TextView 放置内容。这种方法是可以实现,那有没有更好的方法呢?答案是肯定的。本文的主角就是 SpannableString 。...what 有以下这些类: 样式类 效果说明 ForegroundColorSpan 文本颜色(前景色) BackgroundColorSpan 背景色 ClickableSpan 设置文本可点击 DynamicDrawableSpan...) SuggestionSpan 相当于占位符 UnderlineSpan 下划线 AbsoluteSizeSpan 绝对大小(文本字体) ImageSpan 图片 RelativeSizeSpan 相对大小...我选择 RecycleView 来显示数据,它的 item 布局中放置一个 TextView。 ?

1.2K10

【Android】Span的使用

这种类型的Span继承自CharacterStyle,会让文本重新绘制,但不会重新测算布局 ParagraphStyle(段落级别样式)——影响段落的Span,更改代码块的对齐方式,外边距等等 子类名称...了解程度 CharacterStyle (抽象类) ParagraphStyle (抽象类) 说明 ForegroundColorSpan 用过 ✅ 继承 ❌ 不继承 设置文本的前景色(文字颜色) BackgroundColorSpan...可自定义颜色值,精准控制文字背景视觉效果 ForegroundColorSpan √ 为部分文字设置前景色(即文本颜色) 用于突出特定文字,灵活调整文字本身色彩 UnderlineSpan 为部分文字添加下划线...SuperscriptSpan 设置上标文本(数学公式、次方等场景常用,如 X² 中的 “²” ) 使文字上升到基线上方,适配公式、指数等排版 AlignmentSpan.Standard 设置段落级文本对齐方式...>1.0f是放大,<1.0f是缩小 会影响文本的行高、大小;继承关系如下 (1)xml中定义TextView TextView android:id="@+id/tv_re"

41610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    2014-10-25Android学习------布局处理(四)------ListView的item点击之后的布局

    相对布局:放置一个图片,图片的右边是一个 相对布局有个特点,就是有且仅有一行,就是在视图上只显示一行,不会多显示 <RelativeLayout xmlns:android="...http://schemas.android.com/apk/res/android"//命名空间,可以不写 android:layout_width="fill_parent"//相对布局的宽度是填充父窗体...android:layout_height="wrap_content"//相对布局的高度是包裹内容,也就是从子控件里面,要显示的最大高度相匹配 android:background...="@color/white" >//背景颜色设置为白色,从资源索引文件里面找 <Button 第一个放置一个牛奶 android:id="@+id..." android:layout_marginTop="15dp"//距离上面的相对布局的距离为15dp android:background="@drawable/

    81820

    六大布局之LinearLayout

    Layout——界面布局,为应用程序提供界面架构。控制Activity中控件的大小、位置、颜色等属性的方法. Layout 与 ViewGroup的关系 ?...在Android中提供了几个常用布局: LinearLayout 线性布局 RelativeLayout相对布局 FrameLayout 帧布局 AbsoluteLayout绝对布局 TableLayout...android:gravity:控制组件所包含的子元素的对齐方式 android:layout_gravity:控制该组件在父容器里的对齐方式 android:background:为该组件添加一个背景图片或者背景颜色...,颜色常以六位的十六进制表示 android:layout_margin :外边距,布局或控件距离外部元素的边距 android:layout_padding :内边距,布局或控件距离内部元素的边距 android...gravity: android:layout_gravity是本(子)元素相对于父元素的对齐方式设置在子元素上.android:gravity="bottom|right"是本(父)元素所有子元素的对齐方式

    1.4K20

    【Android 应用开发】AndroidUI设计之 布局管理器 - 详细解析布局实现

    相对布局 线性布局是直接继承ViewGroup,表格布局是继承的LinearLayout; 一....相对布局RelativeLayout 相对布局容器中, 子组件的位置总是相对兄弟组件,父容器来决定的; 1...., 因为gravity属性影响容器内所有的组件的对齐方式, 设置了之后, 该组件就可以例外; 2....LayoutParams属性 (1) 只能设置boolean值的属性 这些属性都是相对父容器的, 确定是否在父容器中居中(水平, 垂直), 是否位于父容器的 上下左右 端; 是否水平居中 : android..., 这里设置成正方形, 宽高一样, 后面的组件比前面的边长依次少40; 颜色 : 每个TextView的背景都设置成不一样的; 代码 :  <?

    3.7K40

    Android入门学习笔记(2)UI布局

    Android UI布局 View(视域): View类位于android.view包(android.view.View)中,View类的子类位于android.widget[译:小器物](android.widget.TextView...1)fill_parent 设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。...以TextView和ImageView控件为例,设置为wrap_content将完整显示其内部的文本和图像。布局元素将根据内容更改大小。...ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); params.gravity= Gravity.CENTER; //用来控制控件在包含它的父控件的位置...Android 5.0以上才支持 不同点 statusBarColor具有更高的优先级 statusBarColor在Android 5.0以下的版本中会发出提示警告 在默认情况下,statusBarColor

    1.2K41

    css盒子布局,浮动布局以及显影与简单的动画

    08.05自我总结 一.盒子布局 1.盒子布局的组成 margin border padding content 2.margin margin是外边距,控制盒子的显示位置相对于他的上一级 left、top...控制自身,right、bottom影响兄弟 3.border 宽度:border-width 颜色:border-color 透明度:transparent 样式:border-style: 常用的样式...二.浮动布局 1.浮动布局 float 1.子集浮动参照父级宽度 2.子集浮动不再撑开父级高度 3.父级高度需要自己处理,否则会影响兄弟布局,采用清浮动处理 2.after|before after...与before是伪类 他们与CSS选择器直接用:连接 after元素出现后 before元素出现前 3.清浮动 父级清浮动,就是在自己宽度是否确定下,都能保证父级的高度刚刚好包裹子集 需要左右排列的block...采用浮动布局,且父级一定要清浮动 方法一: .浮动的标签:after { content: ''; display: block; clear: both; } 方法二: .浮动标签下一个要显示的标签

    1.1K20

    Material Design整理(六)——SearchView及FlexboxLayout

    4、更换默认图标颜色 SearchView的默认图标都是黑色的,如果我们想换成其他颜色,在Activity的主题中,指定Toolbar菜单项图标的颜色 这样就将ToolBar的图标颜色更换了。...顺便简单说一下FlexboxLayout 相信大家都写过流式布局,典型用处就是搜索界面的标签和商品界面的筛选功能。...之前用过鸿洋大神写的FlowLayout,不过Google开源了新的容器,就是FlexboxLayout,使用它会让我们流式布局更加简单。...,有五种取值,默认情况下大家看到控件是左对齐(flex_start),另外还有主轴居中对齐(center) 4、子控件属性介绍 ·a app:layout_order="2" 这个表示子元素的优先级,

    1.5K10

    前端课程——颜色与单位

    比如相对父级元素。使用相对长度单位相对绝对长度单位更适用于现在越发复杂的终端设备的屏幕输出。...例如如果一个父级元素拥有两个子级元素,一个子级元素的宽度为 40%,另一个子级元素的宽度为 80%,那么第二个子级元素的宽度就是第一个子级元素的宽度的 2 倍。如下示例代码所示 ? <!...具体的含义如下所示: em:是相对于当前 HTML 元素的父级元素来进行设置。 rem:是相对于当前 HTML 根元素(``)来进行设置。...上述 2 种单位都具有如下 3 种情况: 小于 1 时:表示相对于父级元素或根元素缩小。例如 0.5em 表示是父级元素的 0.5 倍,0.5rem 表示是根元素的 0.5 倍。...等于 1 时:表示与父级元素或根元素的大小保持一致。 大于 1 时:表示相对于父级元素或根元素放大。例如 1.5em 表示是父级元素的 1.5 倍,1.5rem 表示是根元素的 1.5 倍。 ?

    1.3K10

    打造 Material 字体样式主题 | 实现篇

    △ 一个按钮中使用的字体样式属性 (红色) 字体样式属性在布局和组件样式中的应用如下: android:textAppearance=”?...您不需要直接在布局中使用该类,因为 MaterialComponentsViewInflater 会自动将 TextView> 替换为 MaterialTextView。...应用该样式) 作为一个 item 被包含于父样式为 Widget.MaterialComponents.TextView 的组件样式中 (使用 style="..."...应用该样式) 直接应用于布局中的 TextView> △ 不同的行高值 注意事项 您不必覆写全部字体样式。但是请注意,默认的 MDC 样式使用系统字体 (通常是 Roboto)。...: △ Material 组件响应主题级的字体样式覆写 MDC 组件中的字体样式 您已经知道 MDC 组件会响应主题级的样式覆写。

    2.4K20

    CSS基础

    继承、特殊性、层叠、重要性 CSS格式化排版 单位和值 盒模型 浮动 相对定位与绝对定位 布局初探 CSS基础知识 认识CSS样式 CSS全称为“层叠样式表 (Cascading Style Sheets... 代码的作用是为“三年级”三个文字设置文本颜色为红色并且字号为25px。...常用的伪类有: .demo a:link {color:gray;}/*链接没有被访问时前景色为红色*/ .demo a:visited{color:yellow;}/*链接被访问过后前景色为黄色...(一般设置为1000px) 块级元素怎么相对于父元素居中? 元素需要设置长度,元素左右的外边距设置为 auto 即可!...元素都可以看成是一个盒子,这些盒子很多都有一个自己默认的内边距或者外 边距,并且每个浏览器默认的距离还有可能不太一样,这样对于我们页面布局或者具体 的细节的定位产生影响,那么我们应该怎么办?

    2.3K50

    【Android从零单排系列五】《Android视图控件——控件基本属性说明》

    layout_width  宽度 3.android:lauout_height  高度         设置宽高默认有几种常用的属性 wrap_content(自适应)、match_parent(充满父布局...) 4.android:text  控件显示文本内容 5.android:textColor 设置文本颜色         这里一般把颜色写到  res->values->colors.xml文件中...6.android:textSize 设置文本字体大小  Android 中的长度单位详解 7.android:ellipsize              当文字长度超过textview宽度时的省略显示方式...Hrizontal表示水平) 14.android:layout_centerVertical 垂直居中 (Vertiacl表示垂直) 15.android:layout_centerInparent 相对于父元素完全居中...贴紧父元素的左边缘 18.android:layout_alignParentRight 贴紧父元素的右边缘 19.android:textStyle 设置文本字体样式 20.android:typeface

    86210

    Android的ListView和RecyclerView的基本用法

    在Android 5.0 版本之前,为了方便的显示多行数据,形如QQ聊天信息主界面,最常用的选择无非是ListView控件,但是ListView控件本身就有很大的局限性和效率问题(相对于RecyclerView...分别用于显示颜色和文字,有了控件,那么对应储存信息的类就有眉目了,新建一个类Color.java: public class Color { private String colorName;...* 这里的 inflate 方法的三个参数分别代表: * 要加载的布局文件Id、为加载的布局文件外层再加一层父布局、第三个参数如果为 true 的话就是把加载的 View 加入父布局中作为子控件...否则就是只在父布局中声明,不添加进入父布局 * 这里我们当然不能加入父布局,因为我们的 View 是要加入 ListView 中作为子控件的 */..., "颜色名称:" + textView.getText().toString(), Toast.LENGTH_SHORT).show(); } });

    1.9K50

    网易考拉 Android 通知栏适配全方案

    通知栏优先级 Android 4.1通知栏增加了优先级的配置,优先级高的消息可以展示在最上方。...谷歌设计优先级的初衷是根据不同的优先级来防止用户整天被各种莫名其妙的通知栏消息骚扰,重要的通知则应该适当提高优先级,使得用户可以快速地看到并回应,不重要的通知则降低优先级,防止用户被打扰。...自定义布局与视图 除了上面提到的布局与控件,有没有办法自定义布局与视图呢?...使用这种方式自定义的布局,会存在与原生的通知栏消息样式不一致的可能,包括小图标/大图标的大小,字体的大小与颜色,时间的显示方式(不同版本的时间显示位置和样式都不一样)。...因此,emoji表情的适配其实相对较简单,就是根据不同的系统版本实现不同的支持。当然,如果需要简化那么让只需要让运营配置Unicode 6版本的emoji表情就能够适配4.4+版本的系统了!

    6.2K11

    2014-10-25Android学习------布局处理(三)------常见且常用的列表布局

    2)猪肉和黄连这两行文本显示控件的大小-------它的宽度应该是填充父窗体的,(这个时候的填充父窗体是指在当前的水平方向的线性布局中剩下的空间),,它的宽度也可以是包裹内容的,因为我们清楚这里的汉字显示的个数很少...控件在以id=ImageView01的控件的右边 6)android:layout_alignParentRight //贴紧父元素的右边缘 这里的父元素是指当前的布局控件剩余的空间...贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件...2.RelativeLayout ( 相对布局 ) : (里面可以放多个控件,但是一行只能放一个控件) 3.属性值必须为 id 的引用名“ @id/id-name ” android:layout_below...如果指定一个颜色的话会把text的背景设为该颜色, 并且同时和background 使用时覆盖后者 android

    1.5K30
    领券