Вы можете добавить ProgressBar
к своему activity
/ fragment
контенту xml
<!-- Set colors etc as per your choice -->
<ProgressBar
android:id="@+id/progressBar_myActivity"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:backgroundTint="#FFFFFF"
android:foregroundTint="#FFFFFF"
android:indeterminate="true"
android:indeterminateTint="#FFFFFF"
android:progressTint="#FFFFFF"
android:visibility="invisible" />
А когда доля button
равна clicked
, вы показываете ProgressBar
и отключаете взаимодействие с экраном, используя
progressBar_myActivity.visibility = View.VISIBLE //show progress bar
window.setFlags( //disable view for user interaction
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE,
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
)
И как только вы получите api
response
, вы можете показать соответствующее сообщение и скрыть ProgressBar
и включить взаимодействие с пользователем, используя
window.clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE)
progressBar_myActivity.visibility = View.GONE
// show appropriate message
Обратите внимание, что если ваш ответ API требует значительного времени, попробуйте переместить их в какой-либо другой элемент пользовательского интерфейса, поскольку прекращение взаимодействия на длительное время не очень хорошая функция пользовательского интерфейса / пользовательского интерфейса .