ListViews 覆盖了下面的一切
Posted
技术标签:
【中文标题】ListViews 覆盖了下面的一切【英文标题】:ListViews covers up everything underneath 【发布时间】:2015-12-21 01:05:34 【问题描述】:我在我的应用程序中使用 Listview,当 listview 加载数据时,它会覆盖屏幕上的所有内容。我已经尝试了一切,但可能我只是错过了一些东西。这是我的代码
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_
android:layout_
android:id="@+id/friendtilefragment">
<Button
android:layout_
android:layout_
android:text="Hello"
android:layout_alignTop="@+id/list"/>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh_layout"
android:layout_
android:layout_>
<ListView
android:id="@+id/list"
android:layout_
android:layout_
android:divider="@color/list_divider"
android:layout_marginTop="45dp"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_row_selector" />
</android.support.v4.widget.SwipeRefreshLayout>
</FrameLayout>
在此布局中,我使用 Button 来显示片段。但是当数据加载到列表视图中时,该按钮位于列表视图下方。
【问题讨论】:
【参考方案1】:您确定要使用FrameLayout
?,它应该用于保存单个子视图。其中的子视图被绘制在一个堆栈中,最近添加的子视图在顶部,并且像layout_alignTop
这样的相对约束在FrameLayout
中不起作用。
改用RelativeLayout
,并将SwipeRefreshLayout
放在按钮下方。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_
android:layout_
android:id="@+id/friendtilefragment">
<Button
android:id="@+id/myButton"
android:layout_
android:layout_
android:text="Hello"/>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_refresh_layout"
android:layout_below="@+id/myButton"
android:layout_
android:layout_>
<ListView
android:id="@+id/list"
android:layout_
android:layout_
android:divider="@color/list_divider"
android:layout_marginTop="45dp"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_row_selector"/>
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
【讨论】:
我正在使用片段,所以如果我删除 FrameLayout 它将无法工作..你说什么?【参考方案2】:您的问题的答案在这里:Limit height of ListView on Android 你最好为列表视图和它下面的内容使用单独的布局。
【讨论】:
以上是关于ListViews 覆盖了下面的一切的主要内容,如果未能解决你的问题,请参考以下文章
在 RecyclerView 内的 ListViews 中显示项目