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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐