我正在一个 Android 项目中工作,我想在给定宽度的画布上绘制三个不同的用户输入。这三个输入应具有可定制的布局/不同的打印。想一想报纸上的文字广告,其中标题、内容和联系数据有不同的文字布局。到目前为止,我使用此解决方案来格式化有关换行符等的输入。
现在它看起来像这样:
TextView tv_title = new TextView(this);
tv_title.setText(titleText);
tv_title.setDrawingCacheEnabled(true);
tv_title.setWidth(advert_width);
advert_height = tv_title.getMinimumHeight();
Canvas canvas = new Canvas();
Bitmap b =Bitmap.createBitmap(advert_width,advert_height, Bitmap.Config.ARGB_8888);
canvas.setBitmap(b);
Paint backgroundPaint = new Paint();
backgroundPaint.setColor(Color.WHITE);
canvas.drawPaint(backgroundPaint);
我认为这会将位图的大小完全调整为 TextView 所需的高度,这样我就可以保存每个“Text-Bitmap”的高度并将它们绘制在另一个画布上。
不幸的是,TextView.getMinHeight() 和 View.getMinimumHeight() 都抛出一个异常,我想它们只有在你首先使用 Setter 时才有效。
谁能想到另一种解决方案如何获得多行 Textview 的高度?
最好的问候,
克里斯