Android에서의 애니메이션 기본 ① 이미지를 사용하여 파라파라 만화 스타일로
AnimationDrawable 활용
볼륨의 ON/OFF를 전환하는 버튼을 상정.
ON일 때는 애니메이션으로 소리가 나오는 것을 어필.
완성형
drawable 설정
res/drawable/animation_sound.xml<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"
android:visible="true">
<item
android:drawable="@drawable/sound_on_max"
android:duration="750" />
<item
android:drawable="@drawable/sound_on_min"
android:duration="500" />
<item
android:drawable="@drawable/sound_on_mid"
android:duration="500" />
</animation-list>
매개변수
매개변수
개요
android:oneshot
true라고 반복 없음. false이면 반복
android:visible
초기 상태에서의 가시 상태
android:duration
표시 시간(ms)
참고 이미지
파일 이름
이미지
sound_on_max
sound_on_mid
sound_on_min
sound_off
활동 설정
public class MainActivity extends AppCompatActivity {
private ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.imageView);
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (img.getBackground() instanceof AnimationDrawable) {
img.setBackground(ContextCompat.getDrawable(MainActivity.this, R.drawable.sound_off));
} else {
img.setBackground(ContextCompat.getDrawable(MainActivity.this, R.drawable.animation_sound));
// AnimationDrawableを取得
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
// アニメーションの開始
frameAnimation.start();
}
}
});
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (img == null) {
return;
}
if (img.getBackground() instanceof AnimationDrawable) {
// AnimationDrawableを取得
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
// アニメーションの開始
frameAnimation.start();
}
}
}
참고까지!
github -> htps : // 기주 b. 코 m / 타카 오카 / 아니 마치 온 D 라와 b
참고 페이지
h tp : /// ch 보오 s r. jp. 오 rg / an drio d / 우이 / 2192 /
h tps : //로 한다. 오, ぇ. 코 m / 이콘 s / # i c_ ゔ ぅ ぅ
Reference
이 문제에 관하여(Android에서의 애니메이션 기본 ① 이미지를 사용하여 파라파라 만화 스타일로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kazuuu/items/254b5ffd512b63cb792e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"
android:visible="true">
<item
android:drawable="@drawable/sound_on_max"
android:duration="750" />
<item
android:drawable="@drawable/sound_on_min"
android:duration="500" />
<item
android:drawable="@drawable/sound_on_mid"
android:duration="500" />
</animation-list>
public class MainActivity extends AppCompatActivity {
private ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img = (ImageView) findViewById(R.id.imageView);
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (img.getBackground() instanceof AnimationDrawable) {
img.setBackground(ContextCompat.getDrawable(MainActivity.this, R.drawable.sound_off));
} else {
img.setBackground(ContextCompat.getDrawable(MainActivity.this, R.drawable.animation_sound));
// AnimationDrawableを取得
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
// アニメーションの開始
frameAnimation.start();
}
}
});
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (img == null) {
return;
}
if (img.getBackground() instanceof AnimationDrawable) {
// AnimationDrawableを取得
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
// アニメーションの開始
frameAnimation.start();
}
}
}
Reference
이 문제에 관하여(Android에서의 애니메이션 기본 ① 이미지를 사용하여 파라파라 만화 스타일로), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazuuu/items/254b5ffd512b63cb792e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)