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

如何勾勒出android的TextView文字?

勾勒出Android的TextView文字可以通过以下几种方法:

  1. 使用OutlineProvider:

OutlineProvider是一个用于提供视图轮廓的接口,可以通过实现该接口来自定义视图的轮廓形状。在TextView的情况下,可以使用OutlineProvider来获取文字的轮廓。

代码语言:java
复制
public class TextOutlineProvider extends ViewOutlineProvider {
    @Override
    public void getOutline(View view, Outline outline) {
        TextView textView = (TextView) view;
        textView.setTypeface(null, Typeface.BOLD);
        textView.buildDrawingCache();
        Bitmap bitmap = textView.getDrawingCache();
        if (bitmap != null) {
            Path path = new Path();
            path.addRoundRect(new RectF(0, 0, bitmap.getWidth(), bitmap.getHeight()), 20, 20, Path.Direction.CW);
            outline.setConvexPath(path);
        }
    }
}

然后在TextView中设置OutlineProvider:

代码语言:java
复制
TextView textView = findViewById(R.id.textView);
textView.setOutlineProvider(new TextOutlineProvider());
  1. 使用TextPaint:

TextPaint是一个用于绘制文字的画笔,可以通过设置TextPaint的属性来改变文字的样式和颜色。

代码语言:java
复制
TextPaint textPaint = new TextPaint();
textPaint.setColor(Color.BLACK);
textPaint.setAntiAlias(true);
textPaint.setStyle(Paint.Style.FILL);
textPaint.setTextSize(24);
textPaint.setTypeface(Typeface.DEFAULT_BOLD);

然后在TextView中设置TextPaint:

代码语言:java
复制
TextView textView = findViewById(R.id.textView);
textView.setPaintFlags(textView.getPaintFlags() | Paint.ANTI_ALIAS_FLAG | Paint.SUBPIXEL_TEXT_FLAG | Paint.LINEAR_TEXT_FLAG);
textView.setLayerType(View.LAYER_TYPE_SOFTWARE, textPaint);
  1. 使用ShapeableImageView:

ShapeableImageView是一个可以设置圆角、圆形等形状的ImageView,可以通过将TextView放入ShapeableImageView中来实现勾勒出TextView文字的效果。

代码语言:xml
复制
<com.google.android.material.imageview.ShapeableImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:shapeAppearanceOverlay="@style/roundedCorner"
    app:srcCompat="@drawable/textView" />

其中,roundedCorner是一个自定义的样式,可以设置圆角大小等属性。

以上是几种实现勾勒出Android的TextView文字的方法,可以根据具体需求选择合适的方法。

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

相关·内容

Android自由选择TextView的文字 博客分类: Android AndroidUP

于是我就研究了一下EditText和TextView的代码,然后将这个问题解决了。      ...网上很多资料都说,要选择一段文字,只需要用Selection.getSelectionStart()和Selection.getSelectionEnd()确定选择的文字的头和尾,然后加颜色就行。...TextView是很多View的基类,如Button、EditText都是继承自他,所以EditText里面的代码很少。...在TextView里面找onCreateContextMenu,果然有,里面定义了选择、复制、粘贴等选项。       既然找到了这个,那么我们就可以进一步分析选择是如何做到的。      ...你可以点击任何地方然后拖动,释放之后,中间的文字就会被选中,so beautiful!

2.4K10
  • Android项目实战(十四):TextView显示html样式的文字

    项目需求: TextView显示一段文字,格式为:白雪公主(姓名,字数不确定)向您发来了2(消息个数,不确定)条消息 这段文字中名字和数字的长度是不确定的,还要求名字和数字各自有各自的颜色。...一开始我想的是用(转) SpannableString与SpannableStringBuilder来实现,因为它可以实现一段文字显示不同的颜色 但是貌似它只能固定哪些位置的文字显示什么样式,于是乎放弃...格式显示了,红色字体 大小24  那么通过一个小Demo看下这个方法的简单使用: 我有三个字符串,字符串中姓名、数字长度都是不同的,实现让姓名显示红色,数字显示蓝色,其他文字显示默认灰色的效果 先写布局文件...,三个TextView android="http://schemas.android.com/apk/res/android" xmlns:tools=...TextView android:id="@+id/html_text" android:gravity="center" android:layout_width

    2.6K80

    Android入门教程 | TextView简介(宽高、文字、间距)

    TextView简介 文字,是我们传达信息的一种常见方式。在安卓应用上显示文字,我们通常使用TextView。...之前我们已经知道如何获取到layout中的TextView,也知道setText()方法可以修改显示的文字。 结合我们实际的生活和学习经验,写字的时候,有哪些方面是可以由我们来控制的?...dp是安卓中的一种单位,通常用来规定控件的宽高,间隔距离等等。类似的,表示文字大小的单位,安卓里用sp。 显示文字 显示文字,可能是 TextView 最主要的用法了。...(Resources.java:360) 文字设置 一般来说,我们会设置TextView文字的颜色,背景等等。...这里我们拿 TextView 来看一下。 [1240] 以后想显示一些文字的时候,我们首先会想起的是TextView。 Android零基础入门教程视频参考

    1.9K20

    Android入门教程 | TextView简介(宽高、文字、间距)

    TextView简介 文字,是我们传达信息的一种常见方式。在安卓应用上显示文字,我们通常使用TextView。...之前我们已经知道如何获取到layout中的TextView,也知道setText()方法可以修改显示的文字。 结合我们实际的生活和学习经验,写字的时候,有哪些方面是可以由我们来控制的?...dp是安卓中的一种单位,通常用来规定控件的宽高,间隔距离等等。类似的,表示文字大小的单位,安卓里用sp。 显示文字 显示文字,可能是 TextView 最主要的用法了。...前面我们提到,可以使用 TextView 的 setText 方法来设置文字内容,例如setText("123")。...(Resources.java:360) 文字设置 一般来说,我们会设置TextView文字的颜色,背景等等。

    1.4K00

    Android开发(46) 使用 textview实现文字的阴影效果,浮雕效果

    需求 最近看到一些文字的阴影效果很有意思,尝试了下,形成本文。 “平面效果“是我们平时常见的平面的样子。 “阴影效果”会给人一种凸起的感觉。 “浮雕效果“会给一种雕刻“凹陷”的感觉。...方法 使用 textview的4个属性来实现: android:shadowColor 阴影颜色 android:shadowDx    阴影的水平偏移量 android:shadowDy    阴影的垂直偏移量...android:shadowRadius 阴影的范围 阴影效果 TextView android:layout_width="wrap_content" android:layout_height...="5" android:shadowDy="5" android:shadowRadius="3" android:text="阴影效果" android:textColor...="#FFF" android:textSize="30sp" /> 浮雕效果 TextView android:layout_width="wrap_content" android

    2.9K00

    两种云计算预测视角勾勒出的不同结局

    我曾经在之前的几款文章中讨论过IT部门在处理云方案部署时所选择的几种模式。...而其后的《云计算革命的真相》一文则讲述了现实世界中的三个案例,相关企业利用云计算解决了他们依靠传统IT基础设施模式根本无从下手的关键性难题。...换句话来说,IT的未来已经近在眼前,但却被刻意从传统IT体系当中分离了出去。关键问题在于:目前的传统方案是否能够追上时代发展的脚步?抑或是会像现在的底特律那样被无情地抛弃在历史的垃圾堆当中?...他们想要的是能够对当前的迫切挑战作出快速响应的方案,而非那种不温不火、充满不确定性且轻松愉快的发展道路,例如更具敏捷特性的基础设施。...当向IT部门征求关于IT基础设施发展前景的意见时,得出的结论往往总是以巩固IT现有地位作为前提、而并非如何让用户获得更令人满意的使用体验。

    78030

    Android中Textview文字设置不同颜色、下划线、加粗、超链接

    在项目中会遇到在一行文字,部分需要不同的文字颜色、下划线以及超链接来展示,下面介绍两种方式实现: 1、SpannableString来实现 1)简介 对于给Textview设置不同颜色,就不得不提SpannableString...,当然给textview设置不同的字体颜色也可以通过加HTML标签来实现,但是有SpannableString的存在,为啥不用呢....添加各种格式或者称样式(Span),将原来的String以不同的样式显示出来,比如在原来String上加下划线、加背景色、改变字体 颜色、用图片把指定的文字给替换掉,加超链接等等。...注意:如果这些额外信息能被所用的方式支持,比如将SpannableString传给TextView;也有对这些额外信息不支持的,比如自定义view中Canvas绘制 文字,对于不支持的情况,SpannableString...; import android.text.style.UnderlineSpan; import android.widget.TextView; import org.xmlpull.v1.XmlPullParserException

    5.6K21

    【Android】TextView的跑马灯效果

    2.gif 说明 TextView的跑马灯效果也就是指当你只想让TextView单行显示,可是文本内容却又超过一行时,自动从左往右慢慢滑动显示的效果就叫跑马灯效果。...实现 android:ellipsize="marquee" //设置超出显示区域的内容以跑马灯效果呈现,该值还可以设置成END, START等,就是我们常见的在末尾"..."显示。...android:focusable="true" //跑马灯启动的条件之一 android:marqueeRepeatLimit="-1" //设置循环几次,-1表示无限循环 ?...TextView得是单行显示,还必须可以获取焦点,这样当TextView获取焦点后跑马灯效果才会启动,如最上面动图里的第二个TextView。...代码如下: /** * 跑马灯效果的TextView, 使用方式: * 启动/关闭:{@link #setMarqueeEnable(boolean)} * xml文件中记得设置:android:

    5.2K60

    Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性

    在Android中,TextView是我们最常用的用来显示文本的控件。   一般情况下,TextView中的文本都是一个样式。...那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下。    ...wrap_content" android:layout_width="wrap_content" android:orientation="horizontal"> TextView android...;   import android.widget.TextView;   public class TextViewLinkActivity extends Activity {       TextView...,Color.GREEN), 0 ,msp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第一个参数表示项目符号占用的宽度,第二个参数为项目符号的颜色

    1.9K90

    Android TextView 中 setText 的空指针异常

    第一次发现这问题,记录一下,在适配器里面给TextView设置一个int类型的值,然后闪退报错,DeBug模式下查看了布局和id,均没有问题,再次查看日志输出,Caused By: android.content.res.Resources...$NotFoundException:String resource ID #0x86,发现有两个词引起了注意String Resources,才知道TextView在内部实现时设置的类型为String...,所以用String.valueOf(),这里再啰嗦几句,在String类型的转化问题上,String.valueOf()效率最高,因为虚拟机对它进行了特殊处理,其次是toString,最后是+""的拼接形式...,拼接String的形式内部实现其实就是toString,但是要相对复杂一些,拼接过程中产生了常量和一些判断条件,效率低下,详情见源码

    1.7K10

    Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果

    SpannableString 在 Android 开发中是一个非常强大的工具,它允许你在单个字符串范围内应用多种样式。...使用 SpannableString,你可以为文本中的不同部分设置不同颜色,字体大小,字体风格,甚至可以在文本的不同部分添加点击事件。...下面是一个详细的介绍以及一些常见效果的具体代码示例: 基本介绍 SpannableString 是 CharSequence 的一个子类,用于在一个字符串上应用一种或多种样式。...需要设置movementMethod val textView = findViewByIdTextView>(R.id.textview) textView.text = spannableStringClickable...以上示例展示了如何设置文本颜色,字体样式,添加下划线,设置文字大小和添加点击事件。通过组合这些效果,你可以实现丰富的文本展示和交互效果。 END 点赞转发,让精彩不停歇!

    29610
    领券