2012-02-14 4 views
0

나는 만들고있는 동적 textview에 첨부 된 간단한 애니메이션을 가지고 있지만 원하는 것은 딜레이를 추가하는 것입니다. 그렇게하는 법을 안내해주세요. 제안을 바탕으로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

답변

0

시도 AysncTask. 그것은 같은 목적을위한 것입니다.

6

사용이

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

감사 이것을 시도하지만 문제는 내가 내부 클래스에 텍스트 뷰를 만드는 방법과 추가 나는 카 최종을 만들어야 만한다. – Programmer

+0

위의 (Runnable 블록) 외부 Textview를 작성하고 Runnable 블로크 내부에서 해당 ID를 사용하십시오. onCreate 외부의 Textview를 작성하면 로컬 변수 대신 글로벌 변수로 작성됩니다. –

+0

ok 고마워요 ...하지만 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