Android 상용 컨트롤 ImageSwitcher 사용 방법 상세 설명

4499 단어 AndroidImageSwitcher
이미지 전환 기 는 ImageSwitcher 를 사용 하여 Windows 운영 체제 의'Windows 사진 뷰 어'의 이전,다음 그림 전환 기능 을 실현 하 는 데 사용 된다 고 밝 혔 다.ImageSwitcher 를 사용 할 때 는 ViewSwitcher.ViewFactory 인 터 페 이 스 를 실현 하고 MakeView()방법 으로 그림 을 표시 할 ImageView 대상 을 만들어 야 합 니 다.MakeView()방법 은 그림 을 표시 하 는 ImageView 를 되 돌려 줍 니 다.ImageSwitcher 구성 요 소 를 사용 할 때 매우 중요 한 방법 이 있 습 니 다.바로 setImageResource()방법 입 니 다.ImageSwitcher 에 표 시 된 그림 자원 을 지정 하 는 방법 을 바 꾸 는 것 입 니 다.
첫 번 째 단계:XML 레이아웃 파일 의 코드 는 다음 과 같 습 니 다.

<ImageSwitcher
  android:id="@+id/im"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_below="@+id/button1"
  android:layout_centerHorizontal="true"
  android:layout_marginTop="99dp" >
</ImageSwitcher>

<Button
  android:id="@+id/button1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentTop="true"
  android:layout_centerHorizontal="true"
  android:layout_marginTop="77dp"
  android:text="   " />

<Button
  android:id="@+id/button2"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignLeft="@+id/button1"
  android:layout_below="@+id/im"
  android:layout_marginTop="51dp"
  android:text="   " />

두 번 째 단계:자바 에서 논리 코드 를 작성 합 니 다.자세 한 코드 는 다음 과 같 습 니 다.

package com.example.imageswitcher;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;
import android.os.Build;

public class MainActivity extends Activity {
  private int[] imageId=new int[]{
      R.drawable.bj,   R.drawable.bj1, R.drawable.bj11,R.drawable.bj12
  };
  private int index=0;
  private ImageSwitcher imageSwitcher;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
   imageSwitcher=(ImageSwitcher) findViewById(R.id.im);  
   imageSwitcher.setInAnimation(this, android.R.anim.fade_in);//       
   imageSwitcher.setOutAnimation(this ,android.R.anim.fade_out);//       
   imageSwitcher.setFactory(new ViewFactory() {

    @Override
    public View makeView() {
      ImageView imageView=new ImageView(MainActivity.this);//    Iv   
      imageView.setAdjustViewBounds(true);
      imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);//             
      imageView.setLayoutParams(new ImageSwitcher.LayoutParams(240,180));
      return imageView;
    }
  });
  imageSwitcher.setImageResource(imageId[index]);//       
  //       ID
  Button up=(Button) findViewById(R.id.button1);
  Button down=(Button) findViewById(R.id.button2);

  up.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    if(index>0){

      index--;

    }else{
      index =imageId.length-1;
    }
    imageSwitcher.setImageResource(imageId[index]);//       
    }
  });
  down.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    if(index < imageId.length-1){
      index++;

    }else{
      index=0;

    }
    imageSwitcher.setImageResource(imageId[index]);//       
    }
  });

  }
}


세 번 째 단계:핸드폰 으로 운행 한 결 과 는 다음 과 같다.
这里写图片描述
읽 어 주 셔 서 감사합니다. 잘못 과 부족 이 있 으 면 지적 해 주세요.감사합니다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기