GLWallpaperService getResource fond d'écran
Hello, je veux faire un fond d'écran animé.
J'utilise GLWallpaperService
avec l'example suivant :
https://github.com/markfguerra/GLWallpaperExample
Le problème est que je n'arrive pas utiliser les ressources.
J'utilise this en rouge pour passer en paramètre le contexte.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| public class MyWallpaperService extends GLWallpaperService {
public MyWallpaperService() {
super();
}
public Engine onCreateEngine() {
MyEngine engine = new MyEngine(this);
return engine;
}
class MyEngine extends GLEngine {
MyRenderer renderer;
Context _context;
public MyEngine(Context context) {
super();
_context = context;
// handle prefs, other initialization
ArrayList<Integer> list ;
list = TabDebloquer();
//BitmapDrawable img = (BitmapDrawable) context.getResources().getDrawable(Reference._images[13][0]);
//Bitmap img = BitmapFactory.decodeResource(context.getResources(), Reference._images[13][0]);
renderer = new MyRenderer(_context, list);
setRenderer(renderer);
setRenderMode(RENDERMODE_CONTINUOUSLY);
} |
La classe renderer pas en entier :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public class MyRenderer implements GLWallpaperService.Renderer {
public ImagesMvt _images;
Context _context;
public MyRenderer(Context context,ArrayList<Integer> list){
_context = context;
_images = new ImagesMvt(_context, 2, 2, list);
}
public void Init(ArrayList<Integer> list) {
_images = new ImagesMvt(_context, 2, 2, list);
}
public void onDrawFrame(GL10 gl) {
gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
_images.draw(gl);
} |
et dans la classe ImageMvt j'utilise ceci
Code:
1 2 3 4
| for (int num = 0 ; num < _nbImg ; num++)
{
_img[num].SetImage(gl, ((BitmapDrawable)_context.getResources().getDrawable(Reference._images[0][num])).getBitmap(),mTextIDs.get(num),_posImgX[num]*_largeur/4.f , _posImgY[num]*_largeur/4.f, _angleImg[num] );
} |
ca crache à getDrawable :
j'ai ca :
11-16 22:44:25.819: ERROR/AndroidRuntime(347): android.content.res.Resources$NotFoundException: Resource ID #0x7f020056
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at android.content.res.Resources.getValue(Resources.java:892)
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at android.content.res.Resources.getDrawable(Resources.java:580)
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.ImagesMvt.InitImages(ImagesMvt.java:208)
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.ImagesMvt.draw(ImagesMvt.java:320)
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.markguerra.android.glwallpaperexample.MyRenderer.onDrawFrame(MyRenderer.java:28)
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.rbgrn.android.glwallpaperservice.GLThread.guardedRun(GLWallpaperService.java:663)
11-16 22:44:25.819: ERROR/AndroidRuntime(347): at net.rbgrn.android.glwallpaperservice.GLThread.run(GLWallpaperService.java:528)
Avez-vous une suggestion ?
Merci