2012-05-08 16 views
1

ライブ壁紙の背景を画面上に完全に収まるように設定しようとしています。現在の壁紙サイズは1024x1024ですが、画像の一部だけがHTC Desire画面(サイズは480 x 800)に表示されます。 また、480x800未満のイメージを設定しようとすると、イメージは画面全体に収まるように伸びません。ライブ壁紙の背景画像に合わせてストレッチする方法

壁紙が画面の大きさに関係なく高さによって完全に最低限に収まるように、これを達成する方法はありますか?

はここにあなたのreference- OK

private static final int CAMERA_WIDTH = 480; 
private static final int CAMERA_HEIGHT = 720; 


@Override 
public EngineOptions onCreateEngineOptions() { 
final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 
return new EngineOptions(true, ScreenOrientation.PORTRAIT_FIXED, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera); 
} 


@Override 
public void onCreateResources(OnCreateResourcesCallback pOnCreateResourcesCallback) throws Exception { 
. 
. 
this.mBitmapBackgroundAtlas1 = new BitmapTextureAtlas(this.getTextureManager(), 1024, 1024); 
this.mFaceBackgroundRegion1 = BitmapTextureAtlasTextureRegionFactory.createFromAsset(this.mBitmapBackgroundAtlas1, this, "bg1.jpg", 0, 0); 
this.mBitmapBackgroundAtlas1.load(); 
. 
. 
} 

@Override 
public void onCreateScene(OnCreateSceneCallback pOnCreateSceneCallback) throws Exception { 
this.mEngine.registerUpdateHandler(new FPSLogger()); 
. 
. 
mScene.setBackground(new SpriteBackground(new Sprite(0, 0, mFaceBackgroundRegion1, this.getVertexBufferObjectManager()))); 
. 
. 
} 

答えて

3

のための私のコードです...答えを見つけました。同じものを探している人のために投稿してください。

引数として幅と高さを持つonSurfaceChangedメソッドをオーバーライドできます。これにより、デバイスの画面の幅/高さがわかります。

この値を使用して画像を要件に合わせて調整できます。

@Override 
public void onSurfaceChanged(GL10 gl, int width, int height) { 
this.screenWidth=width; 
this.screenHeight=height; 
} 
関連する問題