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