我有一个像这样的xml视图,如你所见,我有滚动视图,但滚动视图不滚动,只是匹配屏幕大小,我无法在屏幕下看到数据。 这是我的代码: 代码已更新
<ScrollView
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"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/aboveRelative"
android:background="@color/darkOrange">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/category_text"
android:textSize="23sp"
android:textColor="@color/white"
android:text="Category"
android:paddingLeft="10sp" />
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="200dp"
android:verticalSpacing="0dp"
android:horizontalSpacing="10dp"
android:numColumns="2"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/gray"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/topVoices"
android:textSize="23sp"
android:text="@string/topVoices"
android:paddingLeft="10sp" />
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/trendlist"
android:elevation="2dp"
android:background="@color/white"
android:layout_margin="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/moreTrend"
android:layout_gravity="right"
android:textSize="23sp"
android:text="More"
android:paddingLeft="10sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/newVoices"
android:textSize="23sp"
android:text="@string/newVoices"
android:paddingLeft="10sp" />
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/soundlist"
android:background="@color/white"
android:layout_below="@+id/newVoices"
android:elevation="5dp"
android:layout_margin="10dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/soundlist"
android:id="@+id/moreNew"
android:layout_gravity="right"
android:textSize="23sp"
android:text="@string/more"/>
<LinearLayout
android:id="@+id/yoursongs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:background="@color/white"
android:padding="10dp">
</LinearLayout>
</LinearLayout>
</LinearLayout>
我确定屏幕下有一些数据,但滚动视图不允许我滚动它并看到它们。
答案 0 :(得分:0)
你的布局错了。这是你要做的事情:
layout_height
属性更改为 match_parent
ScrollView将占据整个屏幕并使其自身可滚动,这就是为什么你需要它作为match_parent。滚动发生在视图内。Linear
或RelativeLayout
。 (见下文)layout_height
设置为 wrap_content
,否则ScrollView将没有任何大于其自身的内容进行滚动。< / LI>
<小时/> 编辑:您的布局也需要更复杂。
仍然,第1项应该可以解决您的问题。
答案 1 :(得分:0)
Scrollview布局只能有一个子布局。您发布的XML中仍然有两个线性布局子项。
ScrollView的Android开发者文档的第一段中对此进行了解释: http://developer.android.com/reference/android/widget/ScrollView.html
答案 2 :(得分:0)
最后,我找到了答案。问题来自滚动视图中的fillviewport。如果删除fillviewport并为listview设置修复大小,则可以滚动。