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; }