如何在android中实现TextView中的文字逐一显示

Posted 轻烟散入五侯家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android中实现TextView中的文字逐一显示相关的知识,希望对你有一定的参考价值。

1、在类中写入以下代码

    private TextView textView4;
    public static final int DISPLAY_TEXT = 1;
    String explainText = "这段文字会逐一显现";//这个是要显示的总文字
    String displayExplainText = "";//这个是会从小到全的显示的文字
    //handler在接收到message(所含what字段为1)时,显示更新后的文字
    private Handler handler = new Handler(Looper.getMainLooper())
        public void handleMessage(Message message)//handler接收到指令后分不同的情况对界面UI进行更新
            switch(message.what)
                case DISPLAY_TEXT:
                    textView4.setText(displayExplainText);
                    break;
                default:
                    break;
            
        
    ;

2、在onCreate方法中写入以下代码

        //开一个字线程,让主界面中的文字逐一浮现
        new Thread(new Runnable() 
            @Override
            public void run() 
                for(int i=0; i<explainText.length(); i++)
                    displayExplainText = explainText.substring(0, i+1);
                    try 
                        Thread.sleep(90);
                    catch (Exception e)
                        e.printStackTrace();
                    
                    Message message = new Message();
                    message.what = DISPLAY_TEXT;
                    handler.sendMessage(message);
                
            
        ).start();

3、原理:在子线程中不断改变要显示的String内容,然后再主线程对TextView控件的.setText()方法对文字进行显示,即可表现出逐一的效果。

以上是关于如何在android中实现TextView中的文字逐一显示的主要内容,如果未能解决你的问题,请参考以下文章

Android在TextView中实现RichText风格

Android Studio 如何在 LinearLayout 元素中实现锚链接?

Android中实现TextView垂直滚动,像跑马灯那样,但是垂直的

您将如何在 Android 应用程序中实现此教程屏幕?

Android中实现跨app之间数据的暴露与接收

Android中用TextView显示大量文字的方法