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