2017-04-18 3 views
0

Hallo Ich mag Bilder von Geräten bekommen und es in der Rasteransicht angezeigt wird, wenn i i 3 zu ändern, es zeigt mir das Bild in Position 3 fünf Mal: ​​Ich mag Liste der Bitmap-Bilder in Rasteransicht hinzuzufügen

BitmapFactory.decodeStream(new FileInputStream(file[i])); 

    private OpenDownloadedImages MyContext; 
    ArrayList<Bitmap> bitmaps = new ArrayList<Bitmap>(); 

    public buttonAdapter(OpenDownloadedImages c){ 
     MyContext = c; 
    } 

    @Override 
    public int getCount() { 
     return file.length; 
    } 

    @Override 
    public Object getItem(int i) { 
     return file[i]; 
    } 

    @Override 
    public long getItemId(int i) { 
     return i; 
    } 

    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 
     LayoutInflater inflater = getLayoutInflater(); 
     View vie = inflater.inflate(R.layout.row_list_fav,null); 
     ImageView imageView = (ImageView) vie.findViewById(R.id.imgFav); 
     imageView.setLayoutParams(new GridView.LayoutParams(180,250)); 
     imageView.setScaleType(ImageView.ScaleType.FIT_XY); 
     imageView.setPadding(0,0,0,0); 
     try { 
      File f=new File("sdcard/wallpaperHD"); 
      File file[] = f.listFiles(); 

      Bitmap b = BitmapFactory.decodeStream(new FileInputStream(file[i])); 
      //ImageView img=(ImageView)findViewById(R.id.dImage); 
      //img.setImageBitmap(b); 
      imageView.setImageBitmap(b); 

     } 
     catch (FileNotFoundException e) 
     { 
      e.printStackTrace(); 
     } 

     return imageView; 
    } 

    File f=new File("sdcard/wallpaperHD"); 
    File file[] = f.listFiles(); 
} 

danke !!

+0

Können Sie einen Screenshot anhängen? Ich bin verwirrt, was Sie mit "es zeigen Sie mir das Bild in der Position von 3 fünf Mal" –

+0

Wie es sollte. Nettes Gimmick. Fügen Sie ein Sechstel hinzu, um mehr Spaß zu haben! Gibt es eine Frage? – greenapps

Antwort

0

ich die Antwort hier ist der Code: erste i hinzugefügt neue Funktion:

public static Bitmap decodeFile (File f, int WIDTH, int HIGHT) {

try { 
     //Decode image size 
     BitmapFactory.Options o = new BitmapFactory.Options(); 
     o.inJustDecodeBounds = true; 
     BitmapFactory.decodeStream(new FileInputStream(f),null,o); 

     //The new size we want to scale to 
     final int REQUIRED_WIDTH=WIDTH; 
     final int REQUIRED_HIGHT=HIGHT; 
     //Find the correct scale value. It should be the power of 2. 
     int scale=1; 
     while(o.outWidth/scale/2>=REQUIRED_WIDTH && o.outHeight/scale/2>=REQUIRED_HIGHT) 
      scale*=2; 

     //Decode with inSampleSize 
     BitmapFactory.Options o2 = new BitmapFactory.Options(); 
     o2.inSampleSize=scale; 
     return BitmapFactory.decodeStream(new FileInputStream(f), null, o2); 
    } catch (FileNotFoundException e) {} 
    return null; 
} 

und in get Blick Ändern Bitmap b = BitmapFactory.decodeStream(new FileInputStream(file[i])); mit diesem Code: Bitmap bitmap = decodeFile(file[i],180,250); imageView.setImageBitmap(bitmap);

Verwandte Themen