добавление вида с задержкой - PullRequest
0 голосов
/ 14 февраля 2012

Я пытаюсь добавить задержку при добавлении вида в основной вид, но одновременно копирует виды.Пожалуйста, помогите.

 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...
                    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);

temp is static int.

1 Ответ

2 голосов
/ 14 февраля 2012

согласно вашему коду, результатом может быть добавление всех представлений одновременно через 2 секунды, верно?время задержки должно быть изменено на int k, как показано ниже.

for(int k =0; k < 5; k++){
     handler.postDelayed(new Runnable() {
            public void run() {
                //write your code here...
                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 + 2000 * k);
    }

, и я рекомендую не делать обработчик, который не нужен.просто отправьте исполняемые файлы одному обработчику.

...