ImageView에 임의 이미지 표시

5450 단어 Android

개시하다


이번 항목에서는 Android의 ImageView에 이미지를 무작위로 표시하는 단계를 설명합니다.
다음은 음악 앨범 리스트에 앨범 예술이 없는 상황에서 무작위로 그림을 표시하는 처리를 구상하여 작성한 것이다.

폴더 구성


이 내용을 설명할 때 안드로이드의 소스 코드에 대한 폴더는 다음과 같이 구성됩니다.
/main
연못 자바#안드로이드의 자바 원본 파일
자원 파일
   ├ ...
수면 layout# 레이아웃 파일
그림 파일 설정
그림 파일 배열 추가하기

1. layout 파일에 ImageView 추가


먼저 ImageView를 선언하여 layout 파일에 임의의 이미지를 표시합니다.
sample.xml
    .
    .
    <ImageView
        android:id="@+id/list_album_art"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:padding="3dp" />
    .
    .

2. 자원의drawable 폴더 아래에 무작위로 보이는 이미지 소재를 설정합니다


그리고 랜덤으로 보이는 이미지 소재를 상기 폴더로 구성된drawable 폴더 아래에 배치하여 자원으로 사용할 수 있습니다.
여기서 파일 구성하기
  ├ albumart_blue.png
  ├ albumart_lightblue.png
  ├ albumart_purple.png
  ├ albumart_red.png
  ├ albumart_yellow.png

3. 자원의values 폴더 아래에 이미지 소재aray 추가


그 다음으로values 폴더 아래는arrays입니다.xml을 추가한 후 이전 단계 2에 추가된 이미지 소재를 그룹 자원으로 집합합니다.
├ values
  ├ arrays.xml#추가
arrays.xml의 내용은 다음과 같습니다.
arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="default_albumart">
        <item>@drawable/albumart_lightblue</item>
        <item>@drawable/albumart_blue</item>
        <item>@drawable/albumart_purple</item>
        <item>@drawable/albumart_red</item>
        <item>@drawable/albumart_yellow</item>
    </array>
</resources>

4. Java 코드에서 임의로 선택한 이미지 처리 증가


마지막으로 3단계의arranys.xml에 기입된 요소defaultImageView(list album art)에 무작위 이미지를 표시하려면 albumart를 사용합니다.
.
.
// ImageViewを変数化
ImageView albumArt = (ImageView) view.findViewById(R.id.list_album_art);

// ランダム画像のリソースの配列を宣言
TypedArray typedArray = getContext().getResources().obtainTypedArray(R.array.default_albumart);

// ランダムな数値を設定(※今回は配列の長さが5のため、5を指定)
int rand = (int)(Math.floor(Math.random() * 5));

// ランダムで画像を選択する
Drawable drawable = typedArray.getDrawable(rand);

// ImageViewの画像の値を設定
albumArt.setImageDrawable(drawable);
.
.

5. 결과 내보내기


위의 내용을 설치하면 아래 파일처럼 무작위로 그림을 표시할 수 있습니다.
아래 이미지와 같이 목록 표시를 하면 같은 이미지가 연속적으로 나타날 수 있으므로 연속 표시를 방지하려면 앞의 상태를 보고 판단해야 한다.

참고 문헌

  • 이미지를 무작위로 표시합니다. -하늘하늘,http://fuwafuwapukapuka.hatenablog.com/entry/2014/03/06/214525,온라인;accessed 30-November-2016.
  • android: 이미지와 텍스트를 무작위로 전환(중복되지 않음)Activity _ asky, http://asky.sakura.ne.jp/wp/2015/08/20/15082001/ , Online; accessed 30-November-2016.
  • 좋은 웹페이지 즐겨찾기