【发布时间】:2014-07-31 09:43:26
【问题描述】:
当用户在 Activity 中选择共享按钮时,我想填充布局,填充它,然后使用新的打印 API 将该布局写入 pdf。
在我的片段中
@TargetApi(Build.VERSION_CODES.KITKAT)
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_share_context:
LayoutInflator inflator = getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View container = inflator.inflate(R.layout.person_share, null, false);
TextView name = (TextView)topContainer.findViewById(R.id.person_name);
name.setText("Test Name");
PdfDocument document = new PdfDocument();
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(612, 792, 1).create()
PdfDocument.Page page = document.startPage(pageInfo)
container.draw(page.getCanvas());
document.finishPage(page)
// write pdf
...
不幸的是,这会输出一个空白的 pdf 文档。但是,当我使用屏幕上已经存在的视图(在 onCreateView(..) 中膨胀)时,它会按预期显示在 pdf 中。
我将不胜感激。
【问题讨论】:
-
你的布局还没有通过布局和测量通道,所以我猜你的
container的宽度和高度都是0。 -
@CommonsWare 谢谢。关于如何使其通过布局和测量通道的任何想法?或者我可以设置一个明确的宽度和高度吗?
标签: android android-layout pdf android-print-framework