J'ai démarré un projet de test juste pour l'obtenir. Aucun changement au fichier main.xml. Je veux créer un ImageView de taille de widget (80x100) qui contient un bitmap converti à partir d'un TextView. Oui, ça sonne très rond mais c'est juste pour tester; à la fin je veux que l'ImageView ait une image de fond et plusieurs TextViews. Je ne suis pas sûr exactement ce que je fais mal, mais rien n'est poussé à l'écran.Conversion d'un TextView-> Bitmap-> ImageView, et rien ne s'affiche
Est-ce un problème de déclarer TextView/ImageView et de le passer "this" dans le constructeur? Est-ce un problème avec mon layoutParams? Voici le code:
package com.doaf.testproject;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
public class TestProject extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(80, 100);
tv.setLayoutParams(layoutParams);
tv.setText("testing 1 2 3");
tv.setTextColor(0xFFFFFF);
tv.setBackgroundColor(0x555555);
Bitmap testB;
testB = loadBitmapFromView(tv);
ImageView iv = new ImageView(this);
iv.setLayoutParams(layoutParams);
iv.setBackgroundColor(0x555555);
iv.setImageBitmap(testB);
setContentView(iv);
}
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap(80, 100, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, 80, 100);
v.draw(c);
return b;
}
}
Merci pour toute aide que vous pouvez fournir. Je suis relativement nouveau à Android, et assez perdu avec celui-ci.
Cela semble être une très mauvaise idée. – Falmarri
@ Rockmaninoff: Utilisez-vous la disposition personnalisée? –
@Tilsan The Fighter: Je prévois d'utiliser une mise en page personnalisée. L'intention finale est de générer un LinearLayout constitué d'une image d'arrière-plan facultative et de quelques TextViews, puis d'exporter ce LinearLayout vers un Bitmap, puis vers l'arrière-plan d'un widget (ImageView?). – Rockmaninoff