2012-02-14 83 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

溫度是靜態的INT這裏.. – Programmer 2012-02-14 07:28:59

回答

0

嘗試AysncTask。這是出於同樣的原因。

6

使用本

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

謝謝,但問題是我如何能在一個內部類創建的TextView,並添加到鑑於我必須讓ka決賽。 – Programmer 2012-02-14 07:12:14

+0

在上面(Runnable塊)之外創建Textview並在Runnable bloock中使用該ID。在onCreate之外聲明您的Textview意味着創建爲全局變量而不是局部變量。 – 2012-02-14 07:14:50

+0

好的,謝謝bro ...但是lhsv.addView(tv,k)怎麼樣;如果我把它放在循環中,它不會讓我改變k,因爲它是最終的。 – Programmer 2012-02-14 07:17:19

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 2012-02-14 07:54:50