Android 使视图填充它的背景形状
Android make view fill it's background shape
问题:
我有一个 Activity
用作弹出窗口。
它的背景是圆角的形状。
但是它的内容视图的项目没有填充形状。它们更有可能 在形状内部的不可见矩形内。
我能否以某种方式使它们填充形状并在重叠角时被剪切?
解法:
- 将此代码添加到具有形状背景的视图中:
view.setClipToOutline(true); --> clips the view view.setOutlineProvider(ViewOutlineProvider.BACKGROUND); --> tells the view to be clipped by the background(shape)
- 如果视图的填充太大,只需将它们缩小,这样您就可以看到裁剪的效果
是的,可以这样做。它被称为View Clipping
。
这是一个关于裁剪的现有问题:
Android View Clipping
您有 2 个选择:
1- 实施自定义 View
并覆盖 onDraw
,以便您可以手动执行裁剪。看这里:
2- 使用 View.outlineProvider
和 View.clipToOutline
。这是更简单的选项,但仅适用于 SDK 21+。看这里:
问题:
我有一个 Activity
用作弹出窗口。
它的背景是圆角的形状。
但是它的内容视图的项目没有填充形状。它们更有可能 在形状内部的不可见矩形内。
我能否以某种方式使它们填充形状并在重叠角时被剪切?
解法:
- 将此代码添加到具有形状背景的视图中:
view.setClipToOutline(true); --> clips the view view.setOutlineProvider(ViewOutlineProvider.BACKGROUND); --> tells the view to be clipped by the background(shape)
- 如果视图的填充太大,只需将它们缩小,这样您就可以看到裁剪的效果
是的,可以这样做。它被称为View Clipping
。
这是一个关于裁剪的现有问题: Android View Clipping
您有 2 个选择:
1- 实施自定义 View
并覆盖 onDraw
,以便您可以手动执行裁剪。看这里:
2- 使用 View.outlineProvider
和 View.clipToOutline
。这是更简单的选项,但仅适用于 SDK 21+。看这里: