我想使用Android
制作LibGDx
动态壁纸。我按照this github link
但Eclipse
显示错误:
“类型createListener()
的方法MainActivity
必须覆盖或实现超类型方法”
“类型createConfig()
的方法MainActivity
必须覆盖或实现超类型方法”
并提供删除@Override
注释。我的错误在哪里?
我的代码:
public class MainActivity extends AndroidLiveWallpaperService {
@Override
public ApplicationListener createListener() {
return new Wallpaper();
}
@Override
public AndroidApplicationConfiguration createConfig () {
return new AndroidApplicationConfiguration();
}
@Override
public void offsetChange (ApplicationListener listener, float xOffset, float yOffset, float xOffsetStep, float yOffsetStep,
int xPixelOffset, int yPixelOffset) {
Gdx.app.log("LiveWallpaper", "offset changed: " + xOffset + ", " + yOffset);
}
}
答案 0 :(得分:3)
似乎关于LiveWallpapers的维基过时了o.o(我要检查一下)。这就是我这样做的方式:
<强> MainActivity.java 强>
package com.zoryth.blockslw;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;
import com.badlogic.gdx.backends.android.AndroidLiveWallpaperService;
import com.badlogic.gdx.backends.android.AndroidWallpaperListener;
public class MainActivity extends AndroidLiveWallpaperService{
public static float pixelOffset = 0;
@Override
public void onCreateApplication () {
super.onCreateApplication();
final AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useGL20 = false;
config.useCompass = false;
config.useWakelock = false;
config.useAccelerometer = false;
config.getTouchEventsForLiveWallpaper = true;
final ApplicationListener listener = new WallpaperListener();
initialize(listener, config);
}
public static class WallpaperListener extends BlocksLW implements AndroidWallpaperListener {
@Override
public void create() {
super.resolver = new Resolver() {
@Override
public float getxPixelOffset() {
return pixelOffset;
}
};
super.create();
};
/*
* never use xOffset/yOffset and xOffsetStep/yOffsetStep, because custom launchers will mess with your
* brain and this problem can't be fixed! Use only xPixelOffset/yPixelOffset (who used yPixelOffset???)))
*/
@Override
public void offsetChange (float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset) {
pixelOffset = xPixelOffset;
}
@Override
public void previewStateChange (boolean isPreview) {
}
}
}
( BlocksLW 是核心项目中的App Listener)
这是Semtiko制作的非常好的模板LW Template。我的代码主要基于它,我建议你给它一个检查;)