Android 初心者です、宜しくお願い致します。
画像の表示、ディスプレイサイズ、画像のサイズを取得する簡単な
プログラムです。
画像は表示されますが、ディスプレイサイズ、画像のサイズは表示
されずにエラーが出ます。
エラーの原因も意味もわかりません、
Androidに詳しい方、なにとど宜しくお願い致しまします。
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
//スライドパズル
public class PuzzleGame extends Activity
{
//アクティビティ起動時に呼ばれる
@Override
public void onCreate( Bundle bundle )
{
super.onCreate( bundle ) ;
Util.setActivity( this ) ;
//フルスクリーンの指定 getWindow().clearFlags( WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN ) ; getWindow().addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN ) ; requestWindowFeature( Window.FEATURE_NO_TITLE ) ; //ビューの追加 setContentView( new PuzzleView( this ) ) ; } class PuzzleView extends View { //イメージ private Bitmap imgBg ; //背景 private Bitmap imgFrame ; //フレーム private Bitmap imgPic ; //絵 private Bitmap imgTitle ; //タイトル private Bitmap imgTap ; //タップ private Bitmap imgClear ; //クリア Resources resources ; Bitmap image ; Paint paint ; Activity act ; //コンストラクタ public PuzzleView( Activity activity ) { super( activity ) ; //イメージの読み込み resources = getResources(); image = BitmapFactory.decodeResource( resources, R.drawable.bg ) ; DisplayMetrics dm = new DisplayMetrics() ; activity.getWindowManager().getDefaultDisplay().getMetrics( dm ) ; int winW = dm.widthPixels ; int winH = dm.heightPixels ; System.out.println( "winW = " + winW ) ; System.out.println( "winH = " + winH ) ; } // 画像のサイズを取得するメソッド public String getSize( Context context , int resource_name ) { // リソースからbitmapを作成 Bitmap image = BitmapFactory.decodeResource( context.getResources() , resource_name ) ; // 画像サイズ取得 int width = image.getWidth() ; int height = image.getHeight() ; System.out.println( "Image_W = " + width ) ; System.out.println( "Image_H = " + height ) ; // 画像サイズの文字列を返す String size = "w:" + width + ",h:" + height; System.out.println( "Size = " + size ) ; return size; } protected void onDraw( Canvas canvas ) { super.onDraw( canvas ) ; canvas.drawBitmap( image , 0 , 0 , paint ) ; } }
}
02-28 04:43:25.438 1199-1199/? I/art: Not late-enabling -Xcheck:jni (already on)
02-28 04:43:25.440 1199-1199/? W/art: Unexpected CPU variant for X86 using defaults: x86_64
02-28 04:43:25.617 1199-1199/net.npaka.puzzlegame W/System: ClassLoader referenced unknown path: /data/app/net.npaka.puzzlegame-2/lib/x86_64
02-28 04:43:25.914 1199-1199/net.npaka.puzzlegame I/System.out: winW = 1080
02-28 04:43:25.914 1199-1199/net.npaka.puzzlegame I/System.out: winH = 1794
02-28 04:43:27.654 1199-1247/net.npaka.puzzlegame I/OpenGLRenderer: Initialized EGL, version 1.4
02-28 04:43:27.654 1199-1247/net.npaka.puzzlegame D/OpenGLRenderer: Swap behavior 1
02-28 04:43:27.878 1199-1247/net.npaka.puzzlegame E/EGL_emulation: tid 1247: eglSurfaceAttrib(1178): error 0x3009 (EGL_BAD_MATCH)
02-28 04:43:27.878 1199-1247/net.npaka.puzzlegame W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x79c038e0da80, error=EGL_BAD_MATCH
02-28 04:46:22.056 1199-1204/net.npaka.puzzlegame W/art: Suspending all threads took: 9.719ms
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/28 14:11
2017/02/28 14:49