当前位置:  开发笔记 > 编程语言 > 正文

在TextView -Android中逐字母显示字符串

如何解决《在TextView-Android中逐字母显示字符串》经验,为你挑选了1个好方法。

我有这个代码:

public void setText(String s){
    TextView tv= (TextView)HomeActivity.tf.getView().findViewById(R.id.textViewFragment);


    char c;
    for(int i=0; i< s.length(); i++){
        c= s.charAt(i);

        tv.append(String.valueOf(c));

        try{
            Thread.sleep(100);
        }catch(Exception e){}
    }
}

问题是我不能让TextView逐个显示字母.循环完成并执行所有操作后,即文本显示时.

我想让它逐个字母显示,以给TextView一个动画效果.



1> Parag Kadam..:

这段代码有效,

    public void setText(final String s)
    {
    TextView tv= (TextView)HomeActivity.tf.getView().findViewById(R.id.textViewFragment);
    final int[] i = new int[1];
    i[0] = 0;
    final int length = s.length();
    final Handler handler = new Handler()
    {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            char c= s.charAt(i[0]);
            Log.d("Strange",""+c);
            tv.append(String.valueOf(c));
            i[0]++;
        }
    };

    final Timer timer = new Timer();
    TimerTask taskEverySplitSecond = new TimerTask() {
        @Override
        public void run() {
            handler.sendEmptyMessage(0);
            if (i[0] == length - 1) {
                timer.cancel();
            }
        }
    };
    timer.schedule(taskEverySplitSecond, 1, 500);
}

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有