如何在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()方法对文字进行显示,即可表现出逐一的效果。

上一篇:jsoup connect


下一篇:Netty 实现http请求 并响应