【发布时间】:2020-10-31 15:32:21
【问题描述】:
我想让我的整个布局可滚动,我尝试了几种方法,但没有奏效。下面是我的 XML 代码。实际上,我面临的问题是当我没有让我的整个布局可滚动时,我的列表视图显示 4 到 5 个项目。当我尝试使我的整个父布局可滚动时,我的列表视图只显示一个项目,而另一个项目我只能通过滚动看到。表示其留空。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_gradient"
android:orientation="vertical"
android:padding="25dp">
<LinearLayout
android:id="@+id/mainContainer"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="start"
android:orientation="vertical"
android:visibility="visible">
<LinearLayout
android:id="@+id/addressContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/address_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Jaipur, IN"
android:textColor="@color/colorWhite"
android:textSize="24dp" />
<TextView
android:id="@+id/updated_at_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20 April 2012, 20:08 PM"
android:textColor="@color/colorWhite"
android:textSize="14dp" />
</LinearLayout>
<LinearLayout
android:id="@+id/overviewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<TextView
android:id="@+id/status_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Clear Sky"
android:textColor="@color/colorWhite"
android:textSize="18dp" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/temp_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:fontFamily="sans-serif-thin"
android:text="30"
android:textColor="@color/colorWhite"
android:textSize="90dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-thin"
android:text="°C"
android:textColor="@color/colorWhite"
android:textSize="90dp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Min Temp: "
android:textColor="@color/colorWhite" />
<TextView
android:id="@+id/temp_min_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="30"
android:textColor="@color/colorWhite" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-thin"
android:text="°C"
android:textColor="@color/colorWhite" />
</LinearLayout>
<Space
android:layout_width="50dp"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Max Temp: "
android:textColor="@color/colorWhite" />
<TextView
android:id="@+id/temp_max_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="35"
android:textColor="@color/colorWhite" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif-thin"
android:text="°C"
android:textColor="@color/colorWhite" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<Space
android:layout_width="match_parent"
android:layout_height="20dp" />
<LinearLayout
android:id="@+id/detailsContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#3CF1EBF1"
android:gravity="center"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/sunrise"
app:tint="#FFFFFF" />
<Space
android:layout_width="wrap_content"
android:layout_height="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sunrise"
android:textColor="@color/colorWhite"
android:textSize="12dp" />
<TextView
android:id="@+id/sunrise_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="06:40 AM"
android:textColor="@color/colorWhite"
android:textSize="14dp" />
</LinearLayout>
<Space
android:layout_width="10dp"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#3CF1EBF1"
android:gravity="center"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/sunset"
app:tint="#FFFFFF" />
<Space
android:layout_width="wrap_content"
android:layout_height="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Sunset"
android:textColor="@color/colorWhite"
android:textSize="12dp" />
<TextView
android:id="@+id/sunset_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="06:40 AM"
android:textColor="@color/colorWhite"
android:textSize="14dp" />
</LinearLayout>
<Space
android:layout_width="10dp"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#3CF1EBF1"
android:gravity="center"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/wind"
app:tint="#FFFFFF" />
<Space
android:layout_width="wrap_content"
android:layout_height="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Wind"
android:textColor="@color/colorWhite"
android:textSize="12dp" />
<TextView
android:id="@+id/wind_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="06:40 AM"
android:textColor="@color/colorWhite"
android:textSize="14dp" />
</LinearLayout>
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="10dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3">
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#3CF1EBF1"
android:gravity="center"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/pressure"
app:tint="#FFFFFF" />
<Space
android:layout_width="wrap_content"
android:layout_height="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pressure"
android:textColor="@color/colorWhite"
android:textSize="12dp" />
<TextView
android:id="@+id/pressure_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="06:40 AM"
android:textColor="@color/colorWhite"
android:textSize="14dp" />
</LinearLayout>
<Space
android:layout_width="10dp"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#3CF1EBF1"
android:gravity="center"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/humidity"
app:tint="#FFFFFF" />
<Space
android:layout_width="wrap_content"
android:layout_height="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Humidity"
android:textColor="@color/colorWhite"
android:textSize="12dp" />
<TextView
android:id="@+id/humidity_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="06:40 AM"
android:textColor="@color/colorWhite"
android:textSize="14dp" />
</LinearLayout>
<Space
android:layout_width="10dp"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#3CF1EBF1"
android:gravity="center"
android:orientation="vertical"
android:padding="8dp">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:src="@drawable/info"
app:tint="#FFFFFF" />
<Space
android:layout_width="wrap_content"
android:layout_height="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Data By"
android:textColor="@color/colorWhite"
android:textSize="12dp" />
<TextView
android:id="@+id/about_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="WeatherMap"
android:textColor="@color/colorWhite"
android:textSize="14dp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Weather Forecast of Next 5 Days"
android:textColor="@color/colorWhite"
android:textSize="14sp"
android:layout_gravity="center"/>
<Space
android:layout_width="wrap_content"
android:layout_height="10dp" />
<ListView
android:id="@+id/forecast_listView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#3CF1EBF1"
android:scrollbars="none"
/>
</LinearLayout>
</RelativeLayout>
【问题讨论】:
-
你试过用 NestedScrollView 把它包起来吗?
-
只在
NestedScrollView内嵌套是行不通的。此外,您需要以编程方式设置listview高度,如此处所述medium.com/@skidanolegs/… 它将使您的整个布局可滚动