将视图放在布局的边缘
Place view on edge of layout
我有一张 RelativeLayout
地图,显示建筑物内的位置。当用户选择一个地点时,我会在地图上显示一个指向该地点的弹出窗口。
我使用 leftMargin
和 topMargin
移动视图,但是当位置位于视图的边缘时,我希望它在 RelativeLayout
之外剪裁一点。
我尝试应用我在此处找到的解决方案,即将其设置在包含 RelativeLayout
:
的 XML 中
android:clipToPadding="false"
android:clipChildren="false"
但是当我这样做时,视图仍然被 RelativeLayout
的右边缘挤压。
如果您已经移动了带有边距值的视图,您可以简单地使用 FrameLayout,它不像 RelativeLayout 那样做太多测量工作。
如果您熟悉自定义视图,另一种解决方案是使用您自己的 ViewGroup 实现,它通过 View.layout(左、上、右、下)关注其子项的位置。
我有一张 RelativeLayout
地图,显示建筑物内的位置。当用户选择一个地点时,我会在地图上显示一个指向该地点的弹出窗口。
我使用 leftMargin
和 topMargin
移动视图,但是当位置位于视图的边缘时,我希望它在 RelativeLayout
之外剪裁一点。
我尝试应用我在此处找到的解决方案,即将其设置在包含 RelativeLayout
:
android:clipToPadding="false"
android:clipChildren="false"
但是当我这样做时,视图仍然被 RelativeLayout
的右边缘挤压。
如果您已经移动了带有边距值的视图,您可以简单地使用 FrameLayout,它不像 RelativeLayout 那样做太多测量工作。
如果您熟悉自定义视图,另一种解决方案是使用您自己的 ViewGroup 实现,它通过 View.layout(左、上、右、下)关注其子项的位置。