Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:ImageSwitcher_Android - Fatal编程技术网

Android:ImageSwitcher

Android:ImageSwitcher,android,Android,我有一个图像切换器和两个按钮…“下一步”和“上一步”来滑动图像…但它只在从左到右的一侧滑动动画…如何修复?谢谢 Integer[] imageIDs = { R.drawable.image_one, R.drawable.image_two, R.drawable.image_tree }; private ImageSwitcher imageSwitcher; private Button nextButton; private Button previousButton

我有一个图像切换器和两个按钮…“下一步”和“上一步”来滑动图像…但它只在从左到右的一侧滑动动画…如何修复?谢谢

Integer[] imageIDs = { R.drawable.image_one, R.drawable.image_two,
        R.drawable.image_tree };

private ImageSwitcher imageSwitcher;
private Button nextButton;
private Button previousButton;


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    final Animation in = AnimationUtils.loadAnimation(this,
            android.R.anim.slide_in_left);
    final Animation out = AnimationUtils.loadAnimation(this,
            android.R.anim.slide_out_right);

    imageSwitcher = (ImageSwitcher) findViewById(R.id.switcher1);
    imageSwitcher.setFactory(this);
    imageSwitcher.setInAnimation(in);
    imageSwitcher.setOutAnimation(out);
    imageSwitcher.setImageResource(imageIDs[0]);

    nextButton = (Button) findViewById(R.id.next);
    nextButton.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            imageSwitcher.setImageResource(imageIDs[1]);

        }
    });

    previousButton = (Button) findViewById(R.id.previous);
    previousButton.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {

            imageSwitcher.setImageResource(imageIDs[0]);
        }
    });

}

public View makeView() {
    ImageView imageView = new ImageView(this);
    imageView.setBackgroundColor(0xFF000000);
    imageView.setScaleType(ImageView.ScaleType.CENTER);
    imageView.setLayoutParams(new ImageSwitcher.LayoutParams(
            LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
    return imageView;
}

在onClickListeners中更改输入/输出动画。 试试这个:(没有检查语法等…)


那不行…我还需要两个动画…向右滑出…向左滑入…但android没有((请参阅右滑出和左滑入的链接。只需为它们创建自己的xml资源。
@Override public void onCreate(Bundle savedInstanceState) {    
 super.onCreate(savedInstanceState);    
 setContentView(R.layout.main);    



 imageSwitcher.setImageResource(imageIDs[0]);     
 nextButton = (Button) findViewById(R.id.next);    
 nextButton.setOnClickListener(new OnClickListener() {       
   public void onClick(View v) {  
 Animation out= AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right);     
 Animation in= AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left);   
 imageSwitcher = (ImageSwitcher) findViewById(R.id.switcher1);    
 imageSwitcher.setFactory(this); 
 imageSwitcher.setInAnimation(in);    
 imageSwitcher.setOutAnimation(out);        
    imageSwitcher.setImageResource(imageIDs[1]);     
     }    
 });    
  previousButton = (Button) findViewById(R.id.previous);     previousButton.setOnClickListener(new OnClickListener() { 
         public void onClick(View v) {  
 Animation out= AnimationUtils.loadAnimation(this, android.R.anim.slide_out_left);     
 Animation in= AnimationUtils.loadAnimation(this, android.R.anim.slide_in_right);   
 imageSwitcher.setFactory(this); 
 imageSwitcher.setInAnimation(in);    
 imageSwitcher.setOutAnimation(out);  
           imageSwitcher.setImageResource(imageIDs[0]);     
    }   
  }); 
 } 

 public View makeView() {   
  ImageView imageView = new ImageView(this);   
  imageView.setBackgroundColor(0xFF000000);   
  imageView.setScaleType(ImageView.ScaleType.CENTER);  
   imageView.setLayoutParams(new ImageSwitcher.LayoutParams(             LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
    return imageView; }