[英]Combining views programmatically - Android
我有一個需要在PDF上顯示的布局列表。 但是,我想找到一種方法可以將這些視圖合並為一個視圖。
for(LinearLayout cardView : selectedCardIDList){
pageNo++;
cardView.measure(measuredWidth, 0);
cardView.layout(0, 0, pageWidth, cardView.getHeight());
cardView.draw(canvas);
}
這是我用來繪制每個視圖的方法。 我想合並視圖,然后繪制新視圖。
這是我用“ V”作為視圖繪制的一個簡單示例。
左側有View 1和View 2,我想嘗試將它們堆疊在一個全新的視圖(如View 3)中。希望這對您有所幫助
private void generatePDF(){
PrintAttributes printAttributes = new PrintAttributes.Builder()
.setColorMode(PrintAttributes.COLOR_MODE_COLOR)
.setMediaSize(PrintAttributes.MediaSize.ISO_A4)
.setMinMargins(PrintAttributes.Margins.NO_MARGINS)
.setResolution(new PrintAttributes.Resolution("Res_Test", PRINT_SERVICE, 450, 700))
.build();
PdfDocument document = new PrintedPdfDocument(getActivity(), printAttributes);
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(595,842,1).create();
PdfDocument.Page page = document.startPage(pageInfo);
for(LinearLayout cardView : selectedCardIDList){
((ViewGroup)cardView.getParent()).removeView(cardView);
combiPDfView.addView(cardView);
}
combiPDfView.draw(canvas);
document.finishPage(page);
}
這是我用來生成PDF的方法。
<LinearLayout
android:id="@+id/pdfView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="invisible"/>
這是我添加視圖並顯示在PDF上的布局。 combiPDfView是LinearLayout的名稱。
您可以使用以下方法實現此目的:
以垂直方向獲取父級Linearlayout
LinearLayout parentView= findViewById(R.id.parentView);
添加視圖的代碼
for(LinearLayout cardView : selectedCardIDList){
// View to be added
pageNo++;
cardView.measure(measuredWidth, 0);
cardView.layout(0, 0, pageWidth, cardView.getHeight());
cardView.draw(canvas);
//add view to parent view
parentView.addView(cardView);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.