这是我的第一个应用程序,使用Internet上发现的功能时遇到问题。它会生成 .pdf 文件,该文件带有已定义的布局,但显示为全黑。我能做什么?我使用的功能真的有帮助吗?还是应该切换?
注意:在编译过程中没有收到任何错误警告,并且在练习测试中没有发现任何“错误”。
try {
android.graphics.pdf.PdfDocument document = new android.graphics.pdf.PdfDocument();
android.graphics.pdf.PdfDocument.PageInfo pageInfo = new android.graphics.pdf.PdfDocument.PageInfo.Builder(linear6.getWidth(), linear6.getHeight(), 1).create();
android.graphics.pdf.PdfDocument.Page page = document.startPage(pageInfo);
Canvas canvas = page.getCanvas();
Paint paint = new Paint();
canvas.drawPaint(paint);
linear6.draw(canvas);
document.finishPage(page);
if (!FileUtil.isExistFile(FileUtil.getExternalStorageDir().concat("/Caixa"))) {
FileUtil.makeDir(FileUtil.getExternalStorageDir().concat("/Caixa/"));
}
path = FileUtil.getExternalStorageDir().concat("/Caixa/teste.pdf");
FileUtil.writeFile(path, "");
java.io.File myFile = new java.io.File(path);
java.io.FileOutputStream fOut = new java.io.FileOutputStream(myFile);
java.io.OutputStreamWriter myOW = new java.io.OutputStreamWriter(fOut);
document.writeTo(fOut);
document.close();
myOW.close();
fOut.close();
SketchwareUtil.showMessage(getApplicationContext(), "Pdf salvo");
} catch(Exception e) {
e.printStackTrace();
}
生成代码。
import android.graphics.*;
import android.graphics.Canvas;
import android.graphics.Paint;
import java.io.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
使用的功能。
<LinearLayout
android:id="@+id/linear6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/textview8"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="18sp"
android:textColor="#000000"/>
</LinearLayout>
java代码引用的xml部分。