Android UI 컨트롤 의 ImageSwitcher 이미지 전환 효과 구현
3884 단어 AndroidUIImageSwitcher그림 전환
이 이름 에서 알 수 있 듯 이 ImageSwitcher 는 그림 전환 컨트롤 로 일련의 그림 에서 특정한 그림 을 한 장 씩 표시 할 수 있 습 니 다.이 컨트롤 을 이용 하면 그림 브 라 우 저의 이전,다음 기능 을 실현 할 수 있 습 니 다.사용 방법 간단 하지만 주의해 야 할 것 은 ImageSwitcher 가 사용 할 때 그림 을 표시 하 는 용기 와 부모 창 을 구분 하 는 ViewFactory 가 필요 합 니 다.
구체 적 인 용법 은 직접 실례 를 보고,관례 대로 먼저 효과 도 를 올 린 다
다음 효과 보기:
레이아웃 파일 은 더 이상 얘 기 하지 않 겠 습 니 다.MainActivity 코드 부분 을 보 세 요.
package com.kiritor.ui_imageswitcher;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
/* , ViewFactory OnClickListener */
public class MainActivity extends Activity implements ViewFactory, OnClickListener {
/* */
private static final Integer[] images = {
R.drawable.first,
R.drawable.second,
R.drawable.third,
};
private ImageSwitcher is;
private Button btnPrev,btnNext;
private static int index = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* ID */
is = (ImageSwitcher) findViewById(R.id.image_switchter);
btnPrev = (Button) findViewById(R.id.pre);
btnNext = (Button) findViewById(R.id.next);
is.setFactory(this);// ImageSwitcher ViewFactory
is.setImageResource(images[index]);//
/* OnClickListen , this*/
btnPrev.setOnClickListener(this);
btnNext.setOnClickListener(this);
}
/* , */
public void onClick(View v) {
switch(v.getId()){
case R.id.next:
index++;
if(index>=images.length){
index = 0;
}
is.setImageResource(images[index]);
break;
case R.id.pre:
index--;
if(index<0){
index = images.length - 1;
}
is.setImageResource(images[index]);
break;
default:
break;
}
}
/**
* View
* ImageSwitcher
* ImageView
* ImageView
*/
public View makeView() {
return new ImageView(this);
}
}
상기 코드 에서 주의해 야 할 것 은:1.본 류 는 두 개의 인 터 페 이 스 를 실현 하기 때문에 클래스 에서 이 두 개의 인터페이스 중의 방법 을 실현 해 야 한다.이렇게 쓰 는 장점 은 다음 과 같다.
다시 사용 하기 편리 합 니 다.다음 코드 에 서 는 이 두 인 터 페 이 스 를 사용 해 야 하 는 곳 에서 this 키 워드 를 직접 사용 할 수 있 습 니 다.
2.images 는 전체 배열 의 정적 상수 로 서 그 안에 저 장 된 모든 그림 의 ID 입 니 다.이것 은 res 디 렉 터 리 의 drawable 디 렉 터 리 에 그림 을 복사 해 야 합 니 다.
3.setFactory()방법 은 시스템 에 이미지 스 위 처 가 어떤 모습 으로 내용 을 표시 해 야 하 는 지 알려 주 고,setImageSource()는 시스템 에 표시 할 그림 을 어디서 얻 는 지 알려 준다.
4.MakeView()방법 은 View Factory 인터페이스 에서 정의 하 는 방법 입 니 다.이 방법 은 View 를 되 돌려 주 고 ImageSwitcher 는 이 View 의 레이아웃 에 따라 내용 을 표시 합 니 다.
간단 한 이미지 브 라 우 저가 완성 되 었 습 니 다!
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.