possible en double:
Converting a view to Bitmap without displaying it in Android?vue converti en bitmap
Je suis en train de convertir la vue en bitmap de lien de référence
Maintenant le problème est comment puis-je obtenir le bitmap qui est en cours de conversion à partir de vue seulement. dans l'auteur exemple a utilisé relativelayout.dispatchDraw (c), mais cette ligne me donne erreur de compilation de temps à savoir
La méthode dispatchDraw (Canvas) de le type ViewGroup n'est pas visible
Voici mon code et moi avons écrit le code suivant dans la fonction onCreate
Canvas c=null;
//Create Layout
RelativeLayout relativeView ;
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT
);
relativeView = new RelativeLayout(this);
relativeView.setLayoutParams(lp);
//Background of Layout
Bitmap viewBgrnd = BitmapFactory.decodeResource(getResources(),R.drawable.bgblack);
relativeView.setBackgroundDrawable(new BitmapDrawable(viewBgrnd));
//associated with canvas
Bitmap returnedBitmap = Bitmap.createBitmap(320,480,Bitmap.Config.ARGB_8888);
c = new Canvas(returnedBitmap);
Paint paint = new Paint();
//Create Imageview that holds image
ImageView newImage = new ImageView(this);
Bitmap srcBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.bgpink);
newImage.setImageBitmap(srcBitmap);
TextView newText = new TextView(this);
newText.setText("This is the text that its going to appear");
c.drawBitmap(viewBgrnd, 0, 0, paint);
relativeView.layout(100, 0, 256, 256);
relativeView.addView(newImage);
relativeView.addView(newText);
// here i am getting compile time error so for timing i have replaced this line
// with relativeView.draw(c);
relativeView.dispatchDraw(c);
ici, le returnedBitmap doit contenir l'image (ImageView et TextView), mais ce bitmap ne contient que bitmap bacground de relati veView dire bgblack
J'ai eu le même temps anciens problèmes et n'a trouvé aucune solution, aussi. Quelqu'un m'a dit, que le cache de dessin peut être un point. Mais je n'étais pas capable de le faire fonctionner correctement. – Impression
Je ne sais pas comment utiliser le cache – Hunt
si j'utilise relativeView.setDrawingCacheEnabled (true); et après cela si je vais essayer d'obtenir le cache en utilisant relativeView.getDrawingCache() je reçois bitmap nul – Hunt