与decodeResources和getResources

时间:2016-12-23 08:48:30

标签: android bitmapfactory android-studio-2.2

正如其他人所见,我在Android世界中也是新手。我曾经用Python和/或C ++编程。现在我正在努力学习如何制作一个不错的Android应用程序。我在这个网站上找到了一个很好的指南:https://developer.android.com/training/displaying-bitmaps/load-bitmap.html

但我坚持显示位图步骤。我在Internet上找不到任何相关内容,也没有在stackoverflow上找到。在我的代码中,我有这一部分:

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;   
BitmapFactory.decodeResource(getResources(),R.drawable.test,options)

无论我做什么,或在互联网上阅读,我都无法删除以下内容:

  1. options.inJustDecodeBounds = true;下面总是有一条红线说:意外的令牌。此外,当我输入“选项”时,它不会自动完成。
  2. BitmapFactory.decodeResource(getResources(),R.drawable.queen_heart,options)表示decodeResource无法解析符号。
  3. BitmapFactory.decodeResource(getResources(),R.drawable.queen_heart,options)表示getResources的方法声明无效
  4. 当我输入BitmapFactory时,我只能将“选项”作为自动完成。
  5. 我使用Android Studio 2.2.2

    见下面我的整个代码。

    package com.example.sjaak.myfirstapp;
    
    import android.content.res.Resources;
    import android.graphics.BitmapFactory;
    import android.graphics.Bitmap;
    
    /**
     * Created by sjaak on 22.12.16.
     */
    
    public class PrepLoadImage {
        // Get the dimensions of the image.
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true
        BitmapFactory.decodeResource(getResources(),R.drawable.test,options)
        int imageHeight = options.outHeight;
        int imageWidth = options.outWidth;
        String imageType = options.outMimeType;
    
        // Fit the image to the screen
        public static int calculateInSampleSize(
                BitmapFactory.Options options, int reqWidth, int reqHeight) {
            // Raw height and width of image
            final int height = options.outHeight;
            final int width = options.outWidth;
            int inSampleSize = 1;
    
            if (height > reqHeight || width > reqWidth) {
    
                final int halfHeight = height / 2;
                final int halfWidth = width / 2;
    
                while ((halfHeight / inSampleSize) >= reqHeight
                        && (halfWidth / inSampleSize) >= reqWidth) {
                    inSampleSize *= 2;
                }
            }
    
            return inSampleSize;
        }
    }
    

0 个答案:

没有答案