Image array in android

前端 未结 3 1870
眼角桃花
眼角桃花 2021-02-04 10:59

I am trying to use an array of images then set my ImageView to one of the images in the array. My first instinct was to use an array of strings with the image names but this did

相关标签:
3条回答
  • 2021-02-04 11:35

    Yes you could create an array of drawables.

    As an alternate you could also create an array of ints which map to your resource ids. So drop your images in the drawable folder which gives them resource IDs.

    R.drawable.yourimage1
    R.drawable.yourimage2
    ...
    R.drawable.yourimagen
    

    Then when you want to load an image and draw to your imageview you do something like this from your Activity. Assuming "yourarray" is the array:

    Drawable d = getResources().getDrawable(yourarray[n]);
    

    Then I believe the call is setImageDrawable on ImageView. So:

    yourImageView.setImageDrawable(d);
    
    0 讨论(0)
  • 2021-02-04 11:37

    depends where your images are

    but if there a in R.drawables. then why not simply store the int reference in your array and then load that

    if you want to do treatment on them you can also open the Bitmap and store that

    edit:

      private int[] textureArrayWin = {
    R.drawable.star_00,
    R.drawable.star_01,
    R.drawable.star_02,
    };
    

    and now you have a table of the id of the images you want

    0 讨论(0)
  • 2021-02-04 11:41

    You can use the resources from drawable-mdpi and store them in an array of integers like

    private static final Integer[] Icons = {
        R.drawable.bg_android_icon,
        R.drawable.bg_sunrise_icon,
        R.drawable.bg_sunset_icon,
        ......
    };
    

    And then you can use it in a loop with Postion ranging from 0 to Icons.length and set it to ImageView

    ImageView.setBackground=getResources().getDrawable(Icons[Position]);
    
    0 讨论(0)
提交回复
热议问题