Как сделать полноэкранный ImageButton с намерением - PullRequest
0 голосов
/ 19 мая 2011

Я хотел бы показать изображение кнопки в полноэкранном режиме с намерением. У меня есть этот код в одном упражнении:

    String[] columns = { MediaColumns.DATA, BaseColumns._ID, MediaColumns.DISPLAY_NAME,
            ImageColumns.DESCRIPTION, ImageColumns.LATITUDE, ImageColumns.LONGITUDE };

             cursor = managedQuery(Media.EXTERNAL_CONTENT_URI, columns, null, null,
            null);

    fileColumn = cursor.getColumnIndexOrThrow(MediaColumns.DATA);

    imageButton.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            imageFilePath = cursor.getString(fileColumn);
            Intent intent3 = new Intent();
            intent3.setClass(Gallery.this, FullScreen.class);
            intent3.putExtra("imageFilePath", imageFilePath);
            startActivity(intent3);
        }
    });

и это во втором упражнении:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.fullscreen);

    imageView = (ImageView) findViewById(R.id.ImageView);

    Bundle extras = getIntent().getExtras();
    String imageFilePath = extras.getString("imageFilePath");

    bmp = getBitmap(imageFilePath);

    imageView.setImageBitmap(bmp);
}

private Bitmap getBitmap(String imageFilePath) {
    BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options();

    bmpFactoryOptions.inJustDecodeBounds = false;
    bmp = BitmapFactory.decodeFile(imageFilePath, bmpFactoryOptions);
    return bmp;
}

Но происходит сбой все время, когда я нажимаю на кнопку ImageButton, чтобы увидеть это изображение в полноэкранном режиме ... Кто-нибудь знает какой-нибудь фрагмент кода или любую программу для этого? Спасибо!

LogCat говорит следующее:

FATAL EXCEPTION: main

java.lang.OutOfMemoryError: размер растрового изображения превышает бюджет виртуальной машины (размер кучи = 5763 КБ, выделенный = 2805 КБ, размер растрового изображения = 487 КБ)

at android.graphics.BitmapFactory.nativeDecodeFile (собственный метод)

на android.graphics.BitmapFactory.decodeFile (BitmapFactory.java:355)

at com.geotagging.FullScreen.getBitmap (FullScreen.java:51)

at com.geotagging.FullScreen.onCreate (FullScreen.java:42)

at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1093)

в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1780)

at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1837)

на android.app.ActivityThread.access $ 1500 (ActivityThread.java:132)

в android.app.ActiveThread $ H.handleMessage (ActivityThread.java:1033)

на android.os.Handler.dispatchMessage (Handler.java:99)

на android.os.Looper.loop (Looper.java:143)

в android.app.ActivityThread.main (ActivityThread.java:4196)

at java.lang.reflect.Method.invokeNative (родной метод)

at java.lang.reflect.Method.invoke (Method.java:507)

at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:839)

на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597)

at dalvik.system.NativeStart.main (собственный метод)

...