最近我了解了Android PdfDocument,我可以创建一个与屏幕相同的活动屏幕的pdf文件。现在我需要从多个屏幕创建pdf文件。假设我有一个用于显示一个用户配置文件信息的活动。从这个活动我可以创建这个屏幕的pdf文件,这是一个用户,但我需要一个所有用户屏幕的PDF文件。这意味着当我按下该活动的按钮时,对于所有用户,应该更新UI并为每个UI创建Page。第一用户屏幕的第一页用于第二用户屏幕的第二页等等
我尝试更新每个用户的用户界面并为pdf文件创建Page,但我遗漏了一些文字。当我将视图的setVisibility设置为GONE / VISIABLE然后在pdf文件中缺少某些视图时,会出现另一个问题。我必须setVisibility,因为某些用户的某些信息是空白的。从第一个用户到最终用户,视图可能会多次改变可见性。
步骤:
for each user
// start a page
Page page = document.startPage(pageInfo);
updateUI() // this function may change text and visibility of a view
contentView.draw(page.getCanvas());
// finish the page
document.finishPage(page);
但是从这个上层代码中我有时会遗漏一些文字和视图
我还尝试从xml中扩展视图并添加到活动中,以便我可以为所有用户UI保持View的单独引用。
步骤:
然后制作一页pdf
在代码下方使用以创建pdf
for each user
// start a page
Page page = document.startPage(pageInfo);
create inflateView
add information to inflatedView
remove child of the parentView
add inflatedView to the parentView
// draw something on the page
parentView.draw(page.getCanvas());
// finish the page
document.finishPage(page);
在此代码中,更新后的视图(parentView)在创建的pdf中为空白。我认为这些观点并非及时绘制。
我该如何解决这个问题。由于Android PdfDocument是新的,我无法找到任何解决方案。