如何在相对布局中添加固定标题和滚动视图表行?
Posted
技术标签:
【中文标题】如何在相对布局中添加固定标题和滚动视图表行?【英文标题】:How to add fixed header and scrollview table rows in relativelayout? 【发布时间】:2021-12-29 02:13:54 【问题描述】:我的目的是用可滚动的行固定表头,以便用户在表内添加值时表头可以稳定。如何在表格标题后的表格行内添加滚动视图,这是我的代码,
activity.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context=".MainActivity">
<TableLayout
android:layout_
android:layout_
android:background="@android:color/white"
android:layout_margin="40dp">
<TableRow
android:layout_
android:background="@color/colorGreen">
<TextView
android:layout_
android:layout_
android:layout_weight="2"
android:gravity="center_horizontal"
android:padding="10sp"
android:text="Department"
android:textColor="@android:color/white"
android:textSize="14sp" />
</TableRow>
<TableRow>
<TextView
android:text="B.E/B.Tech"
android:layout_
android:layout_
android:layout_weight="2"
android:gravity="center_horizontal"
android:padding="10sp"
android:textSize="15sp" />
</TableRow>
<TableRow>
<TextView
android:text="M.E/M.Tech"
android:layout_
android:layout_
android:layout_weight="2"
android:gravity="center_horizontal"
android:padding="10sp"
android:textSize="15sp" />
</TableRow>
</TableLayout>
</RelativeLayout>
【问题讨论】:
你能添加一张你需要的粗略图表吗? 【参考方案1】:最简单的方法是将标题/标题放在TableLayout
之外,然后需要将TableLayout
包裹在ScrollView
中
我对你的代码做了一些修改
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
tools:context=".ui.TableActivity">
<TextView
android:id="@+id/title"
android:layout_
android:layout_
android:padding="10dp"
android:layout_centerHorizontal="true"
android:gravity="center_horizontal"
android:layout_margin="40dp"
android:text="Department"
android:background="@color/design_default_color_primary"
android:textColor="@android:color/white"
android:textSize="14sp" />
<ScrollView
android:layout_
android:layout_
android:layout_below="@id/title">
<TableLayout
android:layout_
android:layout_
android:background="@android:color/white"
android:layout_margin="40dp">
<TableRow>
<TextView
android:text="B.E/B.Tech"
android:layout_
android:layout_
android:layout_weight="2"
android:gravity="center_horizontal"
android:padding="10dp"
android:textSize="15sp" />
</TableRow>
<TableRow>
<TextView
android:text="M.E/M.Tech"
android:layout_
android:layout_
android:layout_weight="2"
android:gravity="center_horizontal"
android:padding="10dp"
android:textSize="15sp" />
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
无论如何,如果希望显示数据列表,我认为您应该考虑使用RecyclerView
。由于RecyclerView
是处理数据列表的推荐方式
【讨论】:
滚动视图必须发生在第 1 行之后。即,固定页眉[tablerow1] 和可滚动页脚[剩余的 tablerow] 当前答案应该如你所愿以上是关于如何在相对布局中添加固定标题和滚动视图表行?的主要内容,如果未能解决你的问题,请参考以下文章
UIScrollView 不使用 AutoLayout 滚动
如何使用自动布局 beta 7 UIKIT 修复 xcode 11 中可滚动内容大小的歧义