在Android

时间:2015-10-28 15:23:05

标签: android pdf ondraw

最近我了解了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的单独引用。

步骤:

  1. 我充气视图
  2. 删除父视图的上一个子项
  3. 在inflate视图中添加信息
  4. 将充气视图添加到父视图
  5. 然后制作一页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);
    
  6. 在此代码中,更新后的视图(parentView)在创建的pdf中为空白。我认为这些观点并非及时绘制。

    我该如何解决这个问题。由于Android PdfDocument是新的,我无法找到任何解决方案。

0 个答案:

没有答案