Android Thuộc tính clipToPadding làm gì?


171

Tôi muốn biết những gì clipToPaddingthuộc tính làm cho ViewGroupAndroid?

Tôi đã xem qua các tài liệu và một số trang web nhưng không có trang web nào tôi thực sự giải thích về những gì nó làm và ý nghĩa của nó, không có gì tôi thực sự có thể hiểu được vì vậy tôi nghĩ rằng có thể là một ý tưởng tốt để hỏi nó ở đây.

Câu trả lời:


421

Bạn có thể sử dụng clipToPadding cho các chế độ xem cuộn. Giả sử bạn có một listview chẳng hạn và bạn có phần đệm được đặt ở trên cùng và dưới cùng. Thông thường phần đệm được hiển thị cho dù mục nào có thể nhìn thấy trên màn hình. Sơ đồ bên dưới đại diện cho một danh sách có 10 mục nhưng chỉ có 4 mục hiển thị trên màn hình, với cài đặt clipToPadding mặc định:

  • (đệm)
  • mục 4
  • mục 5
  • mục 6
  • mục 7
  • (đệm)

Bây giờ nếu bạn được đặt clipToPadding="false"thay vì chỉ được áp dụng bình thường cho toàn bộ chế độ xem thì nó chỉ áp dụng phần đệm cho các mục cuối, đây là những gì bạn thấy trong cùng một kịch bản:

  • mục 4
  • mục 5
  • mục 6
  • mục 7

Bây giờ nếu bạn đã cuộn lên đầu hoặc cuối danh sách, đây là những gì bạn sẽ thấy:

  • (đệm)
  • Mục 1
  • mục 2
  • mục 3
  • mục 4

HOẶC LÀ

  • mục 7
  • mục 8
  • mục 9
  • mục 10
  • (đệm)

Một cách sử dụng thực tế cho điều này là nếu bạn có Nút hành động nổi chẳng hạn, bạn nên sử dụng clipToPadding kết hợp với phần đệm phía dưới để đảm bảo có thể nhìn thấy toàn bộ mục dưới cùng mà không bị FAB cản trở.

Điều đó có ý nghĩa?


59
Tôi sẵn sàng trả tiền nếu các tài liệu chính thức bắt đầu đưa ra loại giải thích cho các chủ đề khác
Manish Kumar Sharma

Có phải nó chỉ áp dụng cho recyclerview hoặc bất kỳ nhóm xem nào không?
RamPrasadBismil

Tôi thích bình luận này và luôn luôn phải đối mặt với một clip để đệm phải quay lại với nó! Cảm ơn :)
Pol

Giải thích rất hay! Chúc mừng!
Maycon Cardoso

302

Tôi biết rằng câu trả lời được xếp hạng hàng đầu giải thích điều này khá rõ ràng thông qua văn bản nhưng như đã nói,

" Một bức tranh đáng giá ngàn lời nói "

Đây là một GIF trị giá 1500 mô tả giống nhau:

(Trái: clipToPadding = "true"Phải clipToPadding = "false":)

nhập mô tả hình ảnh ở đây


6
Tuy nhiên, bằng cách nào đó các câu trả lời dựa trên văn bản là dễ hiểu hơn;) Cảm ơn cho vis mặc dù!
TWiStErRob

2
hình ảnh nói nhiều hơn lời nói, nhưng từ ngữ hoàn chỉnh hơn nhiều ... ở đây không hiển thị phần cuối của danh sách đúng, điều gì đã xảy ra nếu nó có phần đệm phía dưới ...
MHSFisher


6

Tôi khuyên bạn nên xem bài viết này https://medium.com/google-developers/why-would-i-want-to-uitssystemwindows-4e26d9ce1eec#.5x2hz7q0g

Hoặc có thể bạn muốn RecyclerView của bạn cuộn bên dưới một thanh điều hướng trong suốt - bằng cách sử dụng android: fitSystemWindows =, true true, kết hợp với android: clipToPadding =, false false, nội dung cuộn của bạn sẽ nằm phía sau các điều khiển, nhưng khi cuộn xuống phía dưới, mục cuối cùng sẽ vẫn được đệm ở phía trên thanh điều hướng (thay vì ẩn bên dưới!).


-2

Xác định xem liệu ý ViewGroupchí có cắt con của nó hay không và thay đổi kích thước (chứ không phải clip) EdgeEffectcho phần đệm của nó, nếu phần đệm không bằng không. Thuộc tính này được đặt thành truetheo mặc định.

Có thể là một giá trị boolean, chẳng hạn như "đúng" hoặc "sai".

Phương pháp liên quan:

setClipToPadding(boolean)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.