Подтвердить что ты не робот

Android, что делает атрибут clipToPadding?

Я хотел бы знать, что делает атрибут clipToPadding для ViewGroup в Android?

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

Спасибо

4b9b3361

Ответ 1

Вы можете использовать clipToPadding для просмотра прокрутки. Скажем, у вас есть список, например, и у вас есть дополнение, расположенное сверху и снизу. Обычно прокладка видима независимо от того, какие элементы видны на экране. На приведенной ниже диаграмме представлен список из 10 элементов, но на экране видны только 4, с настройками по умолчанию clipToPadding:

  • (дополнение)
  • item 4
  • пункт 5
  • item 6
  • item 7
  • (дополнение)

Теперь, если бы вы установили clipToPadding="false" вместо обычного применения ко всему виду, он применяет только добавление к конечным элементам, это то, что вы увидите в том же сценарии:

  • item 4
  • пункт 5
  • item 6
  • item 7

Теперь, если вам нужно прокрутить список вверх или вниз, это вы увидите:

  • (дополнение)
  • item 1
  • item 2
  • item 3
  • item 4

ИЛИ

  • item 7
  • item 8
  • item 9
  • позиция 10
  • (дополнение)

Практическое использование для этого - если у вас есть кнопка с плавающим действием, например, вы должны использовать clipToPadding в сочетании с нижним дополнением, чтобы гарантировать, что весь нижний элемент можно увидеть, не будучи заблокированным FAB.

Это имеет смысл?

Ответ 2

Я знаю, что самый высокий ответ объясняет это довольно четко через текст, но, как говорится,

"Картина стоит тысяч слов"

Вот стоимость GIF 1500, изображающая одно и то же:

(Слева: clipToPadding = "true" Вправо: clipToPadding = "false")

введите описание изображения здесь

Ответ 3

Я рекомендую вам взглянуть на эту статью https://medium.com/google-developers/why-would-i-want-to-fitssystemwindows-4e26d9ce1eec#.5x2hz7q0g

Или, может быть, вы хотите, чтобы ваш RecyclerView прокручивался под прозрачной навигационной панелью - с помощью android: fitsSystemWindows = "true" в сочетании с android: clipToPadding = "false", ваш прокручиваемый контент будет за элементами управления, при прокрутке вниз, последний элемент по-прежнему будет дополнен над панелью навигации (а не скрыт снизу!).