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



Я хотел бы знать, какого для ViewGroup в Android ?



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

436   4  

4 ответов:

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

  • (обивка)
  • пункт 4
  • пункт 5
  • пункт 6
  • пункт 7
  • (обивка)

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

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

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

  • (обивка)
  • пункт 1
  • пункт 2
  • пункт 3
  • пункт 4

или

  • пункт 7
  • пункт 8
  • пункт 9
  • пункт 10
  • (обивка)

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

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

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

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

вот GIF стоит 1500 изображая то же самое:

(осталось: clipToPadding = "true" правильно: clipToPadding = "false")

enter image description here

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

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

хорошее использование clipToPadding описывается в https://www.youtube.com/watch?v=O47H4PxMf9U (часть сайт Udacity-х конечно)

используя clipToPadding="false" позволяет прокручивать вид прокрутки над верхним значком Google Maps. Это связано с тем, что оба находятся внутри одного и того же FrameLayout.

google play store of google maps, showing cliptopadding

Comments

    Ничего не найдено.