2012-02-14 2 views
0

У меня есть простая анимация, прикрепленная к динамическому текстуру, которую я создаю, но я хочу добавить задержку при их добавлении. Пожалуйста, помогите мне, как это сделать.Добавить задержку при добавлении вида в android

LinearLayout ll = (LinearLayout)findViewById(R.id.ll); 
    final HorizontalScrollView hsv = new HorizontalScrollView(TestViewActivity.this); 
    LinearLayout lhsv = new LinearLayout(TestViewActivity.this); 

    Animation a1 = new AlphaAnimation(0.00f, 1.00f); 
    a1.setDuration(350); 
    a1.setFillAfter(true); 

    for(int k =0; k < 5; k++){ 
     // may be some handler here but how ? 
     TextView tv = new TextView(TestViewActivity.this); 
     tv.setText("Text"); 
     tv.setTextSize(42); 
     tv.setPadding(10, 0, 10, 0); 
     tv.setVisibility(View.INVISIBLE); 
     tv.clearAnimation(); 
     tv.startAnimation(a1); 

     lhsv.addView(tv, k); 
    } 

    hsv.addView(lhsv); 

    ll.addView(hsv); 

Благодаря

На основании предложения я попытался это работает, но все вид приходят все вместе, то, что я хочу, чтобы один вид ввести затем немного задержки, то другой вид входа и так далее .. .Это код.

final Handler handler = new Handler(); 
    LinearLayout ll = (LinearLayout)findViewById(R.id.ll); 
    final HorizontalScrollView hsv = new HorizontalScrollView(TestViewActivity.this); 
    final LinearLayout lhsv = new LinearLayout(TestViewActivity.this); 

    final Animation a1 = new AlphaAnimation(0.00f, 1.00f); 
    a1.setDuration(350); 
    a1.setFillAfter(true); 
    for(int k =0; k < 5; k++){ 
     new Handler().postDelayed(new Runnable() { 
       public void run() { 
        //write your code here... 
        final TextView tv = new TextView(TestViewActivity.this); 
        tv.setText("Text"); 
        tv.setTextSize(42); 
        tv.setPadding(10, 0, 10, 0); 
        tv.setVisibility(View.INVISIBLE); 
        tv.clearAnimation(); 
        tv.startAnimation(a1); 
        lhsv.addView(tv, temp); 
        temp++; 
       } 
      }, 2000); 


    } 

    hsv.addView(lhsv); 
    ll.addView(hsv); 
+0

температура статична ИНТ здесь .. – Programmer

ответ

0

Пробег: AysncTask. Он предназначен для одной и той же причины.

6

использование этого

new Handler().postDelayed(new Runnable() { 
     @Override 
     public void run() { 
      //write your code here... 
     } 
    }, delay_time); 
+0

Спасибо, но проблема в том, как я могу создать TextView во внутреннем классе и добавить к так как я должен сделать окончательный. – Programmer

+0

создайте Textview за пределами вышеперечисленного (Runnable block) и используйте этот идентификатор внутри Runnable bloock.Declare, ваш Textview вне onCreate означает создание глобальной переменной вместо локальной переменной. –

+0

ОК спасибо брату ... но как насчет lhsv.addView (tv, k); если я ставлю эту вещь внутри цикла, она не позволит мне изменить k, поскольку она сделана окончательной. – Programmer

0

попробовать это ...

for(int k =0; k < 5; k++){ 
    //write your code here... 
         final TextView tv = new TextView(TestViewActivity.this); 
         tv.setText("Text"); 
         tv.setTextSize(42); 
         tv.setPadding(10, 0, 10, 0); 
         tv.setVisibility(View.INVISIBLE); 
         tv.clearAnimation(); 
         tv.startAnimation(a1); 
         lhsv.addView(tv, temp); 
         temp++; 
      new Handler().postDelayed(new Runnable() { 
        public void run() { 

        } 
       }, 2000); 
} 
+0

Извините ... Добавлена ​​новая проблема. – Programmer