import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Random;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationSet;import android.view.animation.ScaleAnimation;import android.widget.TextView;public class MainActivity extends Activity { private TextView mTv; private ArrayListnameList; private Random r; private String rname = null; int i = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mTv = (TextView) this.findViewById(R.id.tv_showname); nameList = new ArrayList (); readData(); } private void readData() { // 直接从文件里拿到全部人名字,放到集合里 // 随机为集合长度,那个随机所以人名字显示到mTv try { InputStream is = this.getAssets().open("name.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(is, "utf-8")); String line = null; while ((line = br.readLine()) != null) { nameList.add(line);// 遍历每一行的名字放入List集合 } } catch (Exception e) { e.printStackTrace(); } } public void rName(View view) { final int size = nameList.size(); r = new Random(); new Thread() { public void run() { // 得到一个随机索引 for (i =0; i < 4; i++) { try { Thread.sleep(300); int index = r.nextInt(size); rname = nameList.get(index); runOnUiThread(new Runnable() { @Override public void run() { // 显示 mTv.setText(rname); if (i == 4) { showAnim(); } } }); } catch (InterruptedException e) { e.printStackTrace(); } } }; }.start(); } /** * 显示缩放动画 */ private void showAnim(){ AnimationSet set = new AnimationSet(false); ScaleAnimation anim = new ScaleAnimation(0, 4, 0,4, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); anim.setDuration(1000); ScaleAnimation anim1 = new ScaleAnimation(4, 0, 4, 0, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); anim1.setDuration(1000); set.addAnimation(anim); set.addAnimation(anim1); mTv.startAnimation(set); }}
在assets文件下创建name.text
效果: