ниже - это макет, по которому вы хотите отобразить фоновый макет. Привет в приведенном ниже коде с перекрывающимся макетом. Он отображает макет. Но над макетом еще одно окно отображалось с черным фоном.
выше этого макета с окном, в котором я могу увеличивать и уменьшать масштаб. Но это должно происходить с фоновым макетом.
Может ли кто-нибудь помочь мне, где я допустил ошибку.
хочу отобразить макет без наложения
private void createPdf(){
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
//WindowManager.LayoutParams params = new WindowManager.LayoutParams(1000, 1000, 2007, 8, -3);
WindowManager wm = (WindowManager) getContext().getSystemService(WINDOW_SERVICE);
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View myView = inflater.inflate(R.layout.pdf_layout, null);
// Add layout to window manager
wm.addView(myView, params);
DisplayMetrics displaymetrics = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(displaymetrics);
float hight = displaymetrics.heightPixels ;
float width = displaymetrics.widthPixels ;
int convertHighet = (int) hight, convertWidth = (int) width;
// Resources mResources = getResources();
// Bitmap bitmap = BitmapFactory.decodeResource(mContext, R.drawable.log);
PdfDocument document = new PdfDocument();
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(convertWidth, convertHighet, 1).create();
PdfDocument.Page page = document.startPage(pageInfo);
Canvas canvas = page.getCanvas();
Paint paint = new Paint();
canvas.drawPaint(paint);
// bitmap = Bitmap.createScaledBitmap(bitmap, convertWidth, convertHighet, true);
paint.setColor(Color.BLUE);
// canvas.drawBitmap(bitmap, 0, 0 , null);
document.finishPage(page);
// write the document content
String targetPdf = "/sdcard/pdffromlayout2.pdf";
File filePath;
filePath = new File(targetPdf);
try {
document.writeTo(new FileOutputStream(filePath));
} catch (IOException e) {
e.printStackTrace();
Toast.makeText(getActivity(), "Something wrong: " + e.toString(), Toast.LENGTH_LONG).show();
}
// close the document
document.close();
Toast.makeText(getActivity(), "PDF is created!!!", Toast.LENGTH_SHORT).show();
openGeneratedPDF();
}
private void openGeneratedPDF(){
File file = new File("/sdcard/pdffromlayout2.pdf");
if (file.exists())
{
Intent intent=new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.fromFile(file);
intent.setDataAndType(uri, "application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try
{
getActivity().startActivity(intent);
}
catch(ActivityNotFoundException e)
{
Toast.makeText(getActivity(), "No Application available to view pdf", Toast.LENGTH_LONG).show();
}
}
}