我无法让GridLayout水平滚动。
我发现了一个类似的问题Gridlayout + ScrollView。我尝试了这种方法,但它没有用。
它删除了许多表(因为它应该显示从1到20的所有表)。
这是xml文件
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:padding="16dp" >
<android.support.v7.widget.GridLayout
android:id="@+id/table_mapGrid"
android:layout_width="250dp"
android:layout_height="wrap_content" />
</LinearLayout>
</ScrollView>
<include layout="@layout/cell_list_loading" />
<TextView
android:id="@+id/table_errorView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="20dp"
android:text="@string/message_error_connection"
android:visibility="invisible" />
</FrameLayout>
我希望显示动态内容,可能会在表之间使用空格来改变列数和行数。 我已经完成了,但问题是当GridLayout的宽度变得大于其容器的宽度时,我想用水平滚动解决这个问题,但它似乎不起作用......
有什么建议吗?
答案 0 :(得分:10)
我找到了解决方案
似乎Android ScrollView只能作为VerticalScrollView使用(名称不像HorizontalScrollView那么直观)。
因此,要使某些内容可以垂直和水平滚动,您需要在HorizontalScrollView中嵌套(垂直)ScrollView,或者反过来,就像这样
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content">
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="match_parent">
<!-- Your content here -->
</HorizontalScrollView>
</ScrollView>
答案 1 :(得分:1)
嵌套的HorizontalScrollView / ScrollView不允许您同时滚动两个方向。 我有这个问题并为此创建了一个自定义组件,如果它可以帮助任何人,这里是链接: