带边距的 ClipChildren

ClipChildren with a margin

我只有 1 个片段覆盖了屏幕的某些部分。在该片段中,FrameLayout 位于顶部,canvas 作为顶部 frameLayout 的 children。如果我将 clipChildren 设置为 false 并在 canvas 上绘制线条,则超出 canvas 大小并且从屏幕的一端到另一端可见。如果我将 clipChidren 设置为 true,那么这些线在 frameLayout 之外是不可见的。 我想要的是绘制一条线,该线仅在 frameLayout 外 10px 处可见,而不是从头到尾可见。请注意,我没有选项可以限制 canvas 上的行的长度。简而言之,我想做 clip children 但 FrameLayout.

的边距为负

我通过在视图上使用 padding setPadding api 解决了这个问题。如果您的视图不打算在代码中调整大小,也可以从 xml 完成。