在进度条可见的情况下,使用户交互不活跃。

问题描述 投票:0回答:1

在一个对话框片段中,当我使用一个进度条(不是进度对话框),我想完成一个任务,然后允许用户交互。使用进度条可以通过setCancelable(false)来实现,但是如何使用进度条来实现呢?(因为,getWindow()函数在对话框片段中不能工作)。

先谢谢你 :)

android android-dialogfragment android-progressbar
1个回答
0
投票

我不建议你这样做,因为进度条的想法是向用户展示一些事情正在进行,但它不应该与他们可以与屏幕互动的事实有关。(这也是ProgressDialog被废弃的原因之一,鼓励不要在加载东西的时候屏蔽UI)。

除此之外,回答你的问题,getWindow可以从activity中调用,你可以使用requireActivity().getWindow()或者getActicity().getWindow()在你的对话框片段中检索activity,并设置相应的params来禁止用户操作。


0
投票

你可以简单地添加 isLoading boolean标志,并禁止在该标志为 true,工作完成后,将该标志设置为 false

© www.soinside.com 2019 - 2024. All rights reserved.