【发布时间】:2018-10-04 16:30:55
【问题描述】:
我在顶部相对布局中有三个线性布局
- 首先它有一个列表视图
- 第二个它有另一个线性布局
-
第三个它有一个网格视图
案例1:当listview从服务器加载内容时,它占据了全屏 所以我看不到它在线性布局之下
案例 2:当我在最顶层视图应用滚动视图时,内部列表视图会正确滚动。嵌套滚动视图不起作用。
我想尝试的另一个想法是:我想显示 listview 的每个内容,这样就不需要滚动 listview 内容(滚动顶部真实布局可能会显示 lisview 的内容)..但不知道如何实现这种布局以及这是否可行。 如何在一个屏幕下查看所有三个线性布局的内容? 请帮助你将不胜感激..
这里是布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
tools:context="TeamDetails">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/cardview_shadow"
android:elevation="2dp"
android:orientation="vertical"
android:visibility="visible">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:text="Squad"
android:textColor="@color/primaryDarkColor"
android:textStyle="bold" />
<GridView
android:id="@+id/players_list_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:columnWidth="120dp"
android:gravity="center"
android:horizontalSpacing="5dp"
android:numColumns="auto_fit"
android:padding="10dp"
android:stretchMode="columnWidth"
android:verticalSpacing="5dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/cardview_shadow"
android:elevation="2dp"
android:orientation="vertical"
android:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:text="Fixtures"
android:textColor="@color/primaryDarkColor"
android:textStyle="bold" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="3dp"
android:layout_weight=".28"
android:background="@drawable/menu_bg"
android:elevation="1dp"
android:gravity="right|end"
android:orientation="horizontal"
android:visibility="visible">
<Spinner
android:id="@+id/spinner"
android:layout_width="243dp"
android:layout_height="11dp"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="5dp"
android:background="@android:color/transparent"
android:gravity="center"
android:spinnerMode="dialog" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:src="@drawable/drop"
android:visibility="visible" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/squad_containerr"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:elevation="2dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
android:background="@drawable/cardview_shadow"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:text="Detail"
android:textColor="@color/primaryDarkColor"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
【问题讨论】:
-
分享你的布局文件。
-
当您将
GridView的高度设置为wrap_content的父级时,因此如果您的网格视图包含更多视图,那么其他视图(GridView的父级的兄弟姐妹)将在下方绘制(out屏幕)。在这种情况下,您将永远不会看到这些视图。更好的方法是为每个视图设置权重(在你的情况下,孩子LinearLayouts 在第一个LinearLayout),就像其他建议一样。 :)
标签: android listview gridview android-linearlayout vertical-scrolling