Показать диалог прогресса за изображением в макете кадра

android

316 просмотра

1 ответ

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

Можно ли отобразить диалоговое окно прогресса за этим изображением в течение первых пяти секунд, а затем скрыть это изображение и показать диалоговое окно прогресса?

Автор: Shanto George Источник Размещён: 08.11.2019 10:54

Ответы (1)


1 плюс

Применяя предложение Раджена Райярела, я сделал это:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_act1);

    pb = (ProgressBar) findViewById(R.id.pb);
    iv = (ImageView) findViewById(R.id.iv);
    TimerTask task = new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    swapVisibility();
                }
            });
        }
    };
    timer = new Timer();
    timer.schedule(task, 5000);

    new Task().execute();
}

class Task extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... voids) {
        try {
            Thread.sleep(7000); // imitating heavy operation
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        timer.cancel();
        if (pb.getVisibility() != View.VISIBLE)
            swapVisibility();
    }
}

private void swapVisibility() {
    pb.setVisibility(View.VISIBLE);
    iv.setVisibility(View.GONE);
    Log.e("TAG", "Visibility changed");
}
Автор: MirlanMaksv Размещён: 20.08.2016 05:22
Вопросы из категории :
32x32