在android中创建动态大小、水平滚动表

在android中创建动态大小、水平滚动表,android,android-gridview,android-tablelayout,android-scrollview,Android,Android Gridview,Android Tablelayout,Android Scrollview,我一直在尝试创建一个在左侧和右侧有两个静态列的表,以便它们始终可见。左侧布局包含标签,右侧包含总计。滚动视图包含所有主要内容。可能总共有232个文本视图,一直到24个。我读到GridView是内存的最佳选择,但不适合创建可变数量的列和行,不会水平滚动,并将包装自己的内容以适应宽度…我需要新的列来不断增加宽度。gridview能够以这种方式使用吗 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android

我一直在尝试创建一个在左侧和右侧有两个静态列的表,以便它们始终可见。左侧布局包含标签,右侧包含总计。滚动视图包含所有主要内容。可能总共有232个文本视图,一直到24个。我读到GridView是内存的最佳选择,但不适合创建可变数量的列和行,不会水平滚动,并将包装自己的内容以适应宽度…我需要新的列来不断增加宽度。gridview能够以这种方式使用吗

<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"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="counter.prebuild.CreateNewCourseCard">

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/left"
    android:id="@+id/cardLeft"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/right"
    android:id="@+id/cardRight"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/space2" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/minus"
    android:id="@+id/cardMinus"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/cardSelectNum" />

<TextView
    android:layout_width="70dp"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="@string/score_num_tile"
    android:id="@+id/cardSelectNum"
    android:gravity="center_vertical|center_horizontal"
    android:layout_centerHorizontal="true"
    android:layout_alignTop="@+id/cardMinus"
    android:layout_alignParentBottom="true" />

<Space
    android:layout_width="35dp"
    android:layout_height="20dp"
    android:id="@+id/space4"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/up"
    android:id="@+id/cardUp"
    android:layout_alignParentBottom="true"
    android:layout_alignRight="@+id/space4"
    android:layout_alignEnd="@+id/space4" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/down"
    android:id="@+id/cardDown"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/space5" />

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/plus"
    android:id="@+id/cardPlus"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/cardSelectNum" />

<Space
    android:layout_width="70dp"
    android:layout_height="20dp"
    android:id="@+id/space3"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/cardDown" />

<Space
    android:layout_width="25dp"
    android:layout_height="30dp"
    android:id="@+id/space5"
    android:layout_alignParentBottom="true"
    android:layout_toLeftOf="@+id/cardUp" />

<Space
    android:layout_width="70dp"
    android:layout_height="20dp"
    android:id="@+id/space6"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/cardRight" />

<Space
    android:layout_width="25dp"
    android:layout_height="30dp"
    android:id="@+id/space2"
    android:layout_alignParentBottom="true"
    android:layout_toRightOf="@+id/cardLeft" />

<View
    android:layout_width="fill_parent"
    android:layout_height="2dp"
    android:id="@+id/imageView"
    android:contentDescription="@string/blue_bar"
    android:layout_marginBottom="2dp"
    android:layout_above="@+id/cardSelectNum"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:background="#ff3463ff" />

<LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_above="@+id/imageView"
    android:id="@+id/cardLeftLayout"
    android:paddingRight="2dp">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="LeftLayout"
        android:id="@+id/leftLayout" />
    </LinearLayout>



<LinearLayout
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_above="@+id/imageView"
    android:id="@+id/cardRightLayout"
    android:paddingLeft="2dp">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="RightLayout"
        android:id="@+id/rightlayout" />
    </LinearLayout>

<HorizontalScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/cardCenterLayout"
    android:layout_alignTop="@+id/cardLeftLayout"
    android:layout_above="@+id/imageView"
    android:layout_toLeftOf="@+id/cardRightLayout"
    android:layout_toRightOf="@+id/cardLeftLayout">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="ScrollView"
        android:id="@+id/scrollViewText" />
</HorizontalScrollView>
我刚刚使用了,在适配器中设置了一个公共函数,使用this.notifyDataSetChanged。它的工作方式与任何其他listview类型的视图相同,只是在没有外部库的情况下它不会水平滚动


至于静态的左栏和右栏,我只是设置了一个单独的布局,其中的视图与我在gridview中显示的视图相似。

我相信您的意思是动态大小不是可变的:为什么不在适配器中为每个项目使用列表视图,然后使用线性布局呢,我只是想知道GridView是否可以这样做。