2016-12-05 94 views
0

我在Android中使用簡單的GridView來顯示圖片庫中的圖片。我的代碼可以得到的圖片路徑:Android中GridView中圖片的路徑

例如:存儲/模擬/ 0/DCIM /相機/ IMG_20161205_101211.jpg

GridView適配器:

public class ImageAdapter extends BaseAdapter { 

    private Context mContext; 

    public ImageAdapter(Context c) { 
     mContext = c; 
    } 

    public int getCount() { 
     return mThumbIds.length; 
    } 

    public Object getItem(int position) { 
     return null; 
    } 

    public long getItemId(int position) { 
     return 0; 
    } 

    // create a new ImageView for each item referenced by the Adapter 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView; 
     if (convertView == null) { 
      // if it's not recycled, initialize some attributes 
      imageView = new ImageView(mContext); 
      imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 
      imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); 
      imageView.setPadding(8, 8, 8, 8); 
     } else { 
      imageView = (ImageView) convertView; 
     } 

     imageView.setImageResource(mThumbIds[position]); 
     return imageView; 
    } 

    // references to our images 
    private Integer[] mThumbIds = { 
      R.drawable.face, R.drawable.face2, 
      R.drawable.face3, R.drawable.face4, 
      R.drawable.face5, R.drawable.face6, 
      R.drawable.face7, R.drawable.face8 
    }; 
} 

我想用圖片路徑在mThumbIds而不是使用資產文件夾中的圖片來顯示圖片,但我真的不知道該怎麼做。我應該將圖片路徑轉換爲Bitmap

+1

使用中的一個(https://android-arsenal.com/tag/46),如畢加索[可用於機器人圖像加載庫的看似無限數目]。這些可以將圖像異步加載到ImageView中,因此加載圖像的操作不會鎖定主應用程序線程並凍結您的UI。 – CommonsWare

回答

0

使用這個代碼

try { 
    // get input stream put name here 
    InputStream ims = getAssets().open("avatar.jpg"); 
    // load image as Drawable 
    Drawable d = Drawable.createFromStream(ims, null); 
    // set image to ImageView 
    imageView.setImageDrawable(d); 
} 
catch(IOException ex) { 
    return;