1
我想绘制一个卡片到它的画布上。不幸的是,Cardview没有绘制。但是,绘制了一些测试文本。为什么我的carview没有绘制?为什么我的卡片视图不能绘制到画布上?
代码:
// start a page
PdfDocument.Page page = document.startPage(pageInfo);
Canvas c = page.getCanvas();
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(1000, 50);
CardView card = new CardView(this);
card.setLayoutParams(params);
card.setRadius(4f);
Bitmap cardBitmap = Utils.loadBitmapFromView(card);
c.drawText("tessssssttt", 30, 30, p);
c.drawBitmap(cardBitmap, new Rect(0,0,1000,50), new Rect(5, 50, 995, 100), p);
document.finishPage(page);
观为位图:
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap(v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(v.getLeft(), v.getTop(), v.getRight(), v.getBottom());
v.draw(c);
return b;
}
我想通了,在'CardView'绘制位图,但阴影不drawed,所以你认为'CardView'没有绘制。还有同样的问题:http://stackoverflow.com/questions/32931652/cardview-shadow-not-rendered-when-converted-to-bitmap – nshmura
@nshmura我也读了,并将背景设置为黑色。还没有看到。 –