안 드 로 이 드 스 레 드 이미지 윤 방 실현
이 글 은 간단 한 그림 순환 방송 을 실현 하고 자원 그림 3 장 을 초기 화 하 며 3 초 에 한 번 씩 그림 배경 을 바 꾸 고 번갈아 재생 합 니 다.
지식
Thread 스 레 드 start(),sleep();handler 메커니즘;Android 컨트롤 imageView,setBackgroundResource(id);
비교적 간단 한 편 이 고 관련 된 기본 은 모두 기초 지식 이다.
3.기본 적 인 사고
1.자원 파일 초기 화
2.실제 루틴 대상 new Thread()만 들 기
3.handler 메커니즘,sendMessage(msg);현재 디 스 플레이 자원 그림 을 다음 으로 변경 하기 위해 스 레 드 정 보 를 처리 합 니 다.
4.스 레 드 는 수면 시간 을 설정 하여 그림 윤파 의 시간 간격 을 설정 합 니 다.
5.일정 시간 마다 handler 체 제 를 통 해 정 보 를 보 내 이미지 자원 의 변환 을 실현 하여 윤 방 을 실현 한다.
-->>코드 구현:
(1)layot 레이아웃:ImageView 컨트롤 하나만
k1.jpg,k2.jpg,k3,jpg 는 세 장의 그림 이다.
(2) 자바 코드 는 배경 그림 에 대한 라운드 변환 작업 을 실현 합 니 다:
package com.example.ususaltest;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ImageView;
public class MainActivity extends Activity {
int i = 1;//
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();//
initEvent();//
}
private void initView() {
imageView = (ImageView) findViewById(R.id.id_image);
}
private void initEvent(){
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {// ,
super.handleMessage(msg);
if (msg.what == 1)
imageView.setBackgroundResource(R.drawable.k1);//
else if (msg.what == 2)
imageView.setBackgroundResource(R.drawable.k2);
else if (msg.what == 3)
imageView.setBackgroundResource(R.drawable.k3);
else
imageView.setBackgroundResource(R.drawable.k1);
}
};
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(3000);// 3
} catch (InterruptedException e) {e.printStackTrace();}
Message message = new Message();
message.what = i;
handler.sendMessage(message);//
if(i == 3)//3 ,
i = 0;
i++;
}
}
}).start();
}
}
(3)여기 서 이미지 순환 방송 효 과 를 실 현 했 지만 감상 도가 높 지 않 고 애니메이션 같은 것 을 적당 하 게 추가 하여 그림 을 전환 할 때 더욱 역 동적 이 고 동태 적 인 변환 을 할 수 있 으 며 변환 과정 을 볼 수 있 습 니 다.단순 한 정태 적 인 변환 이 아 닙 니 다.확장 확장 애니메이션
확대 애니메이션 을 추가 하여 그림 을 바 꿀 때 교체 과정 을 볼 수 있 고 동적 으로 윤 방 기능 을 볼 수 있 습 니 다.
new Thread(new Runnable() {
@Override
public void run() {
while (true) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {e.printStackTrace();}
Message message = new Message();
message.what = i;
handler.sendMessage(message);//
//
<span style="background-color: rgb(51, 255, 255);">AnimationSet set = new AnimationSet(true);
ScaleAnimation scale = new ScaleAnimation(1.5f, 1.0f, 1.5f, 1.0f ,Animation.RELATIVE_TO_SELF, 0.5f ,Animation.RELATIVE_TO_SELF, 0.5f);
scale.setDuration(500);
set.addAnimation(scale);
imageView.setAnimation(set);</span>
if(i == 3)//3 ,
i = 0;
i++;
}
}
}).start();
이렇게 하면 효과 가 좀 좋아 질 뿐만 아니 라 변위 애니메이션 도 추가 하여 그림 을 바 꿀 때 그림 을 오른쪽 에서 들 어 오 게 하거나 왼쪽 에서 들 어 오 거나 오른쪽 에서 나 가게 할 수 있다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.