wholeContainer.setMinimumHeight(wholeContainerHeight + buttonsContainerHeight);

本文探讨了如何使 Android 中的 NestedScrollView 在滑动时可以覆盖底部固定的按钮,通过调整布局高度来实现滚动效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<android.support.v4.widget.NestedScrollView>
    <LinearLayout
        android:id="@+id/whole_container">
        ...
        ...
    </LinearLayout>
</android.support.v4.widget.NestedScrollView>
<LinearLayout
    android:id="@+id/buttons_container">
    <Button>
    <Button>
</LinearLayout>

在整个屏幕下面有两个固定的button,想让nestedscrollview能够滑动时超过这两个button,这样设置怎么也不行。
wholeContainer.setMinimumHeight(wholeContainerHeight + buttonsContainerHeight);

最后只好在wholeContainer里加了一个space,控制space的高度

但是您可以使用其他方法来实现表格的分页显示。以下是一个示例代码,其中我们使用表格的getRows方法获取表格中的所有行,然后手动将行添加到多个表格中,并在新页面上继续渲染: 复制 // 创建表格 PdfPTable table = new PdfPTable(numColumns); table.setTotalWidth(PageSize.A4.getWidth()); table.setLockedWidth(true); float rowHeight = 20f; table.getDefaultCell().setMinimumHeight(rowHeight); // 添加数据到表格... // 获取表格中所有行 PdfPRow[] rows = table.getRows(); // 计算每个表格应该包含的行数 int numRowsPerPage = 10; int numPages = (int) Math.ceil((double) rows.length / numRowsPerPage); // 按页数创建多个表格 PdfPTable[] tables = new PdfPTable[numPages]; for (int i = 0; i < numPages; i++) { tables[i] = new PdfPTable(numColumns); tables[i].setTotalWidth(PageSize.A4.getWidth()); tables[i].setLockedWidth(true); tables[i].getDefaultCell().setMinimumHeight(rowHeight); } // 将行添加到多个表格中 int rowIndex = 0; for (int i = 0; i < numPages; i++) { for (int j = 0; j < numRowsPerPage && rowIndex < rows.length; j++) { tables[i].addRow(rows[rowIndex]); rowIndex++; } } // 渲染表格 PdfContentByte canvas = writer.getDirectContent(); for (int i = 0; i < numPages; i++) { tables[i].writeSelectedRows(0, -1, document.leftMargin(), document.top() - tables[i].getTotalHeight(), canvas); if (i < numPages - 1) { document.newPage(); } } 希望这个解决方案可以帮助到您。如果您有任何其他问题或疑问,请随时问我。openPdf 没有tables[i].addRow(rows[rowIndex]);方法
06-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值