如何仅使视图的一部分(在运行时添加)overlay/overlap 相邻视图?
How to make only a part of a View (which is added at runtime) overlay/overlap the neighbouring views?
下图的 LHS 显示了在 XML 中设置的 Activity
的初始结构,RHS 显示了一些运行时更改后的 Activity
。
黑色边框包围着 RelativeLayout
(我可以将其更改为 LinearLayout
或其他内容,如果这样可以解决我的问题),这是Activity的布局,红色边框包围了一个RecyclerView
,里面的绿色边框包围了一个RecyclerView的元素。深蓝色边框包含一个 FrameLayout
,将在运行时向其添加 Fragment
。
现在的问题是,在运行时,更多的元素被添加到红色边框 RecyclerView
,在 RHS 中由紫色边框框共同显示图表。 只有 RecyclerView
中包含这些新添加元素的部分应该覆盖 Activity
的其余内容(即本质上是 FrameLayout
)
那么我应该使用什么样的布局作为 Activity 的根,我应该如何使这部分布局重叠成为可能? 我应该怎么做?任何建议将不胜感激。
使用RelativeLayout
、FrameLayout
和CoordinatorLayout
可以实现重叠布局。
然而,可能需要更多详细信息才能知道哪个最适合您。
编辑:
如果绿色布局具有固定高度,比如说,100dp
,看来您可以使用 RelativeLayout
轻松获得您想要的内容
<RelativeLayout>
<FrameLayout android:height="match_parent"
android:width="match_parent"
android:layout_marginTop="100dp"/>
<RecyclerView/>
</RelativeLayout>
LHS 显示了在 XML 中设置的 Activity
的初始结构,RHS 显示了一些运行时更改后的 Activity
。
黑色边框包围着 RelativeLayout
(我可以将其更改为 LinearLayout
或其他内容,如果这样可以解决我的问题),这是Activity的布局,红色边框包围了一个RecyclerView
,里面的绿色边框包围了一个RecyclerView的元素。深蓝色边框包含一个 FrameLayout
,将在运行时向其添加 Fragment
。
现在的问题是,在运行时,更多的元素被添加到红色边框 RecyclerView
,在 RHS 中由紫色边框框共同显示图表。 只有 RecyclerView
中包含这些新添加元素的部分应该覆盖 Activity
的其余内容(即本质上是 FrameLayout
)
那么我应该使用什么样的布局作为 Activity 的根,我应该如何使这部分布局重叠成为可能? 我应该怎么做?任何建议将不胜感激。
使用RelativeLayout
、FrameLayout
和CoordinatorLayout
可以实现重叠布局。
然而,可能需要更多详细信息才能知道哪个最适合您。
编辑:
如果绿色布局具有固定高度,比如说,100dp
,看来您可以使用 RelativeLayout
<RelativeLayout>
<FrameLayout android:height="match_parent"
android:width="match_parent"
android:layout_marginTop="100dp"/>
<RecyclerView/>
</RelativeLayout>