Я пытаюсь скрыть свое приложение изображением (маской конфиденциальности), когда пользователь покидает приложение. Я использую onUserLeaveHint, чтобы установить альфу предварительно загруженного представления равным 1.
Это работает при навигации с помощью жестов, но при 3-кнопочной навигации (виртуальный домашний ключ) система делает снимок последних событий до того, как мое представление станет видимым. Есть ли способ ускорить обновление пользовательского интерфейса или отложить создание снимка при нажатии виртуальной кнопки «Домой»?
class MainActivity : AppCompatActivity() {
private var coverView: ImageView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
coverView = ImageView(this).apply {
setImageResource(R.drawable.window_focus_logo)
scaleType = ImageView.ScaleType.CENTER_CROP
visibility = View.VISIBLE
alpha = 0f
elevation = 1000f
}
val params = ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
)
(window.decorView as ViewGroup).addView(coverView, params)
}
override fun onUserLeaveHint() {
showImage()
super.onUserLeaveHint()
}
override fun onResume() {
super.onResume()
coverView.alpha = 0f
}
private fun showImage() {
if (coverView == null) {
Log.w("status", "coverView not initialized")
return
}
coverView.alpha = 1f
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... sing-the-v