[android]Scrollview "采用"一个列表项的高度

发布时间: 2016/10/10 20:49:21
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我有 fragmentListView 的项目。这 ListView 是在 ScrollView 。当我开始我的应用程序, scrollview 采用一个列表项的高度。我该做什么来扩大 ScrollView 到全屏幕?

xmlfragment :

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ListView
        android:id="@+id/lvData"
        android:layout_width="match_parent"
        android:layout_height="fill_parent">
    </ListView>
</ScrollView>
</RelativeLayout> 

Xml列表项︰

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">

<TextView
    android:layout_width="45dp"
    android:layout_height="45dp"
    android:id="@+id/tv_number"
    android:layout_gravity="left|center_vertical"
    android:background="@drawable/oval"
    android:textAlignment="center"
    android:textIsSelectable="false"
    android:textStyle="normal|bold"
    android:textSize="40sp"
    android:layout_marginLeft="20dp"
    android:text="@string/number"
    android:textColor="#ffffff"
    tools:targetApi="jelly_bean_mr1" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/lesson_name"
    android:id="@+id/tv_lesson"
    android:layout_gravity="center_horizontal|top"
    android:textAlignment="center"
    android:textStyle="normal|bold"
    android:textSize="20sp"
    tools:targetApi="jelly_bean_mr1" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Время"
    android:id="@+id/tv_time"
    android:layout_gravity="center"
    android:layout_marginTop="4dp"
    android:layout_marginBottom="10dp" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/teacher_name"
    android:id="@+id/tv_teacher"
    android:layout_gravity="center_horizontal|bottom"
    android:textStyle="italic" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Кабинет"
    android:id="@+id/tv_cab"
    android:layout_gravity="right|bottom"
    android:layout_marginTop="4dp"
    android:layout_marginBottom="17dp" />
</FrameLayout>

屏幕截图

http://i.stack.imgur.com/dSbaB.jpg
http://i.stack.imgur.com/fsgd3.jpg
http://i.stac k.imgur.com/oVKGJ.jpg

解决方法 1:

它是一个坏主意,包住列表 view 里面滚动 view 。 你不需要滚动 view 列表中将会自行滚动和适应屏幕大小也就将删除滚动 layout 和列表 view 将填满整个屏幕那么 layout

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<ListView
    android:id="@+id/lvData"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">
</ListView>
</RelativeLayout> 
赞助商