1

レイアウトを PDF に変換しようとしています。単純な TextView からカスタム ビューまでのビューが満載です。EditText を除いて、すべて正常に動作します。EditText の下線は表示されますが、値は表示されません。

1 つの試みはview、PDF ページに直接描画することです。これは、EditTexts では機能しません。

activePage = pdfDocument.startPage(pageInfo)
view.draw(activePage.canvas)

強調表示の問題である可能性がある別の試みは、ビューをビットマップに変換してから描画しようとしています。絞込みテストはこちら。

val v = view.findViewById<TableRow>(R.id.my_table_row_with_text_and_edittext)
val bitmap = v.drawToBitmap()
activePage.canvas?.drawBitmap(bitmap, 0f, 0f, null)

EditText、AppCompatEditText、および TextInputEditText を使用してみました。ここで注目すべき重要な点は、このビューを画面に表示せずに構築していることです。完全なスニペットは次のとおりです。

// pdf page dimensions, big enough to fit the rendered view
val width = 1080
val height = 3000

// inflate the view
val view = layoutInflater.inflate(R.id.pdf_layout, FrameLayout(this), false)
// populate the view with data
applyData(view, model)

// measure and layout the view
view.measure(
    MeasureSpec.makeMeasureSpec(width, MeasureSpec.EXACTLY),
    MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
)
view.layout(0, 0, width, height)
4

0 に答える 0