Android 自定义控件实现显示文字的功能

Android 自定义控件实现显示文字的功能

自定义控件—–逐个显示文字

ONE Goal ,ONE Passion !

前言:

今天要实现的效果时.让我们的文字一个一个显示出来.上效果图吧:

实现原理:

1,拿到要显示的文字.

2,计算文字显示的速率
字体显示的速度 v = 总的字体长度 / 总的显示时间

3,将文字根据速率显示到控件上.

自定义View:

public class printTextView extends TextView { /** * 字体显示出来的时间 */ private int DURATION = 8000; public printTextView(Context context) { this(context, null); } public printTextView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public printTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public void printString(String str) { if (str != null && str != "") { // 字符串的长度 final int lenght = str.length(); final char[] c = new char[str.length()]; //将字符串转换成字符数组 for (int i = 0; i < str.length(); i++) { c[i] = str.charAt(i); } ValueAnimator animator = ValueAnimator.ofFloat(0, 1); animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { @Override public void onAnimationUpdate(ValueAnimator animation) { // 字体显示的速度 v = 总的字体长度 / 总的显示时间 float v = (float) lenght / (float) DURATION; // 动画执行速度 float fraction = (float) animation.getAnimatedValue(); //动画不同阶段字体应该显示的个数 int s = (int) (v * fraction * DURATION); setText(c, 0, s); } }); animator.setDuration(DURATION); animator.start(); } } }

跑起来:

public class ScaleActivity extends AppCompatActivity { private printTextView print_text; String str = "我和你吻别,在无人的街.我和你吻别在狂乱的夜.这波给你103分," + "多一分宽容,多一分耐心,更重要的是多一分父爱."; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scale); initView(); } print_text = (printTextView) findViewById(R.id.print_text); print_text.printString(str); } }

R.layout.activity_scale布局文件

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:// schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="20dp" android:orientation="vertical" tools:context="com.example.customview.activity.ScaleActivity"> <com.example.customview.view.printTextView android:id="@+id/print_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>

ok.我们的文字已经可以打印显示到屏幕了.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2024-09-21 17:06:16

Android 自定义控件实现显示文字的功能的相关文章

Word 2007的文档窗口内显示文字自动换行功能

在Word2007文档中,通过启用"文档窗口内显示文字自动换行"功能,可以在大纲视图下改变文档窗口大小时使文字自动换行,从而使Word文档窗口能够完整显示整行内容(类似于记事本中的"自动换行"效果),操作步骤如下所述: 第1步,打开Word2007文档窗口,依次单击"Office按钮"→"Word选项"按钮,如图2012040422所示. 图2012040422 单击"Word选项"按钮 第2步,打开&qu

基于JS实现密码框(password)中显示文字提示功能代码_javascript技巧

其实实际上实现中并不能让password中显示文字提示,但是我们在工作中有这样的需求,当没输入东西的时候,框内有提示输入密码,但是当输入东西的时候又显示的是*号,那么是如何实现的呢?其实原理很简单,就是放两个文本框,样式以及定位都是一样的.先将type为password的隐藏,只显示type为text的伪密码框,value设置提示内容例如请输入密码.然后当input触发的时候,type为text的input隐藏,让type为password的input显示出来.然后当检测password的val

Android自定义控件实现简单写字板功能_Android

先来看看效果图 就是简单的根据手指写下的轨迹去画出内容 一.实现 之前一篇文章里提到了android官方给出的自定义控件需要考虑以下几点: 创建View 处理View的布局 绘制View 与用户进行交互 优化已定义的View 就按照这个步骤来完成今天的自定义控件 1.创建View上篇提到创建View这一步的时候要考虑的就是很简单的自定义属性的声明.使用. 今天的控件可以有一些什么自定义属性呢?要实现写字板,其实就是三个东西:写字板的颜色.笔的颜色.笔的粗细.所以接下来自定义属性. <?xml v

Android自定义控件制作显示进度的Button_Android

最近看到一些应用在下载文件的时候,并没有额外弹出进度条,而是很炫的使用启动下载任务的Button直接显示文件的下载进度,通过改变其背景色,从左向右推进,直到填满整个Button时,意味着下载任务的完成. 除了这种效果,还看到某酷的视频客户端,在观看过的视频对应的按钮上,会给该按钮添加一个描边效果,4条边,每条边代表25%的进度,由上沿开始,顺时针最终到左边沿,则代表100%的进度,这种效果也很不错. 自己也研究了一下,写了个自定义的button,下面是效果,  普通的填充效果:  描边的效果: 

Android自定义控件实现简单写字板功能

先来看看效果图 就是简单的根据手指写下的轨迹去画出内容 一.实现 之前一篇文章里提到了android官方给出的自定义控件需要考虑以下几点: 创建View 处理View的布局 绘制View 与用户进行交互 优化已定义的View 就按照这个步骤来完成今天的自定义控件 1.创建View 上篇提到创建View这一步的时候要考虑的就是很简单的自定义属性的声明.使用. 今天的控件可以有一些什么自定义属性呢?要实现写字板,其实就是三个东西:写字板的颜色.笔的颜色.笔的粗细.所以接下来自定义属性. <?xml

Android自定义控件制作显示进度的Button

最近看到一些应用在下载文件的时候,并没有额外弹出进度条,而是很炫的使用启动下载任务的Button直接显示文件的下载进度,通过改变其背景色,从左向右推进,直到填满整个Button时,意味着下载任务的完成. 除了这种效果,还看到某酷的视频客户端,在观看过的视频对应的按钮上,会给该按钮添加一个描边效果,4条边,每条边代表25%的进度,由上沿开始,顺时针最终到左边沿,则代表100%的进度,这种效果也很不错. 自己也研究了一下,写了个自定义的button,下面是效果, 普通的填充效果: 描边的效果: 自定

word字体隐藏功能如何隐藏及显示文字

  一.word2003隐藏及显示字体 我们打开word2003,进入到操作界面,然后将你的文档打开,选中你需要隐藏不需要的打印的文字,然后点击菜单栏上的"格式--字体",在字体的对话框下面"效果"上面勾选"隐藏文字",这样在去打印即可不会将你不需要打印的文字打印出来.如图所示: 比如我们打印之后,又需要这些文本恢复回来,这里就教大家如何恢复word文档中的被隐藏的文字,直接鼠标点击"工具--选项--视图",在视图下面的格式标

如何在Word 2013文档窗口内显示文字自动换行

在Word2013文档中,通过启用"文档窗口内显示文字自动换行"功能,可以在大纲视图下改变文档窗口大小时使文字自动换行,从而使Word文档窗口能够完整显示整行内容(类似于记事本中的"自动换行"效果),操作步骤如下所述: 第1步,打开Word2013文档窗口,依次单击"文件"→"选项"按钮,如图2013072514所示. 图2013072514 单击"文件"按钮 第2步,打开"Word选项"

Word 2010显示文字自动换行

在Word 2010文档中,通过启用"文档窗口内显示文字自动换行"功能,可以在大纲视图下改变文档窗口大小时使文字自动换行,从而使Word文档窗口能够完整显示整行内容(类似于记事本中的"自动换行"效果),操作步骤如下所述: 第1步,打开Word 2010文档窗口,依次单击"文件"→"选项"按钮,如图2012011503所示. 图2012011503 单击"文件"按钮 第2步,打开"Word选项&qu