Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение
Интересно, а сам Google ничего не нарушает своим Google Chrome, показывая через него контент сайтов конечным пользователям? Ну это я по поводу клиентов всяких форумов и прочих соц. сетей.
Разобралась. Моя ошибка была в том, что не тот view отправляла в обработку SlidingActivity:)
Спасибо!
Но даже полностью неизмененный код затемнение не делает.
Видимо что-то глубже.
Буду искать.
Спасибо за статью, очень познавательно.
Но не получается добавить затемнение.
Может можно увидеть живой проект на гите?

Вот кусок кода. У меня слайд вправо, так что код немного изменен.
abstract class SlidingActivity : AppCompatActivity() {

   var windowScrim: ColorDrawable = ColorDrawable(Color.argb(0xE0, 0, 0, 0))
   <...>
   override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
         window.statusBarColor = Color.TRANSPARENT
      }

      windowScrim.alpha = 0
      window.setBackgroundDrawable(windowScrim)
   }

   private fun updateScrim() {
        Log.v(TAG, "updateScrim")
        val progress = root.x / screenSize.x
        val alpha = (progress * 255f).toInt()
        windowScrim.alpha = 255 - alpha
        this.window.setBackgroundDrawable(windowScrim)
    }

   override fun dispatchTouchEvent(ev: MotionEvent): Boolean {
      <...>
      when (ev.action) {
         MotionEvent.ACTION_MOVE -> {
            if ((isSlidingRight(startX, startY, ev) && canSlideRight()) || isSliding) {
                  updateScrim()
                  <...>
            }
         }
      }
   }
}


Все работает отлично, при сдвиге updateScrim() в логе отрабатывается тоже, но затемнения не происходит.
Может быть, я что-то упускаю?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность