The above font will be dynamically displayed. This effect is often used when we start an application.
The Code is as follows:
UIDemoActivity code:
Public class UIDemoActivity extends Activity {/** Called when the activity is first created. */private Animation mAnimation; private int marginTop; private List <ImageView> mimageView; private LinearLayout mLinearLayout; private int [] imageId = {R. drawable. l, R. drawable. a, R. drawable. o, R. drawable. d, R. drawable. i, R. drawable. n, R. drawable. g}; @ Override public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); // set full screen this. getWindow (). setFlags (WindowManager. layoutParams. FLAG_FULLSCREEN, WindowManager. layoutParams. FLAG_FULLSCREEN); // set this. requestWindowFeature (Window. FEATURE_NO_TITLE); // obtain the screen size information DisplayMetrics dm = this. getResources (). getDisplayMetrics (); marginTop = dm. heightPixels-100; // load the animation mAnimation = AnimationUtils. loadAnimation (this, R. anim. cache); mLinearLayout = new LinearLayout (this); mLinearLayout. setBackgroundResource (R. drawable. background); mimageView = new ArrayList <ImageView> (); imageInit (mLinearLayout); this. setContentView (mLinearLayout); startAnimation ();} private void imageInit (LinearLayout layout) {layout. setGravity (Gravity. CENTER_HORIZONTAL); // layout. setOrientation (LinearLayout. VERTICAL); // defines two layout parameters: LinearLayout. layoutParams param1 = new LinearLayout. layoutParams (40, 40); param1.setMargins (0, marginTop, 0, 0); LinearLayout. layoutParams param2 = new LinearLayout. layoutParams (40, 40); param2.setMargins (0, marginTop, 0, 0); ImageView l = new ImageView (this); // apply LayoutParam l. setLayoutParams (param1); layout. addView (l); mimageView. add (l); ImageView o = new ImageView (this); o. setLayoutParams (param2); layout. addView (o); mimageView. add (o); ImageView a = new ImageView (this);. setLayoutParams (param2); layout. addView (a); mimageView. add (a); ImageView d = new ImageView (this); d. setLayoutParams (param2); layout. addView (d); mimageView. add (d); ImageView I = new ImageView (this); I. setLayoutParams (param2); layout. addView (I); mimageView. add (I); ImageView n = new ImageView (this); n. setLayoutParams (param2); layout. addView (n); mimageView. add (n); ImageView g = new ImageView (this); g. setLayoutParams (param2); layout. addView (g); mimageView. add (g);} private void imageClear () {for (ImageView image: mimageView) {// set ImageView to null image. setImageDrawable (null); // clear the cached image. destroyDrawingCache () ;}} Handler handler = new Handler () {@ Override public void handleMessage (Message msg) {// TODO Auto-generated method stub switch (msg. what) {case 0: mimageView. get (0 ). setImageDrawable (UIDemoActivity. this. getResources (). getDrawable (R. drawable. l); mimageView. get (0 ). setAnimation (mAnimation); break; case 1: mimageView. get (1 ). setImageDrawable (UIDemoActivity. this. getResources (). getDrawable (R. drawable. o); mimageView. get (1 ). setAnimation (mAnimation); break; case 2: mimageView. get (2 ). setImageDrawable (UIDemoActivity. this. getResources (). getDrawable (R. drawable. a); mimageView. get (2 ). setAnimation (mAnimation); break; case 3: mimageView. get (3 ). setImageDrawable (UIDemoActivity. this. getResources (). getDrawable (R. drawable. d); mimageView. get (3 ). setAnimation (mAnimation); break; case 4: mimageView. get (4 ). setImageDrawable (UIDemoActivity. this. getResources (). getDrawable (R. drawable. i); mimageView. get (4 ). setAnimation (mAnimation); break; case 5: mimageView. get (5 ). setImageDrawable (UIDemoActivity. this. getResources (). getDrawable (R. drawable. n); mimageView. get (5 ). setAnimation (mAnimation); break; case 6: mimageView. get (6 ). setImageDrawable (UIDemoActivity. this. getResources (). getDrawable (R. drawable. g); mimageView. get (6 ). setAnimation (mAnimation); break; case 100: imageClear (); break ;}}; public void startAnimation () {new Thread () {public void run () {try {Thread. sleep (1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke. printStackTrace ();} int runCount = 0; while (true) {if (runCount <2) {for (int I = 0; I <7; I ++) {handler. sendEmptyMessage (I); try {Thread. sleep (400);} catch (InterruptedException e) {// TODO Auto-generated catch blocke. printStackTrace () ;}} handler. sendEmptyMessage (100); runCount ++;} else {Intent intent = new Intent (UIDemoActivity. this, SecendActivity. class); UIDemoActivity. this. startActivity (intent); break ;}}};}. start ();}}
2. animated xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"android:shareInterpolator="false"> <scale android:interpolator="@android:anim/accelerate_interpolator"android:fromXScale="0.0" android:toXScale="1.2" android:fromYScale="0.0"android:toYScale="1.2" android:pivotX="50%" android:pivotY="50%"android:fillAfter="false" android:startOffset="-50"android:duration="100"/> </set>