安卓:ImageSwitcher [英] Android: ImageSwitcher
本文介绍了安卓:ImageSwitcher的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个ImageSwitcher和2个按钮......下一步和previous滑动图片...但它的动画我滑只能在一个从左边到右边......如何解决?谢谢...
整数[] imageIDs = {R.drawable.image_one,R.drawable.image_two,
R.drawable.image_tree};
私人ImageSwitcher imageSwitcher;
私人按钮Next按钮;
私人按钮previousButton;
@覆盖
公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
在= AnimationUtils.loadAnimation最后的动画(这一点,
android.R.anim.slide_in_left);
最终的动画了= AnimationUtils.loadAnimation(这一点,
android.R.anim.slide_out_right);
imageSwitcher =(ImageSwitcher)findViewById(R.id.switcher1);
imageSwitcher.setFactory(本);
imageSwitcher.setInAnimation(在);
imageSwitcher.setOutAnimation(出);
imageSwitcher.setImageResource(imageIDs [0]);
Next按钮=(按钮)findViewById(R.id.next);
nextButton.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
imageSwitcher.setImageResource(imageIDs [1]);
}
});
previousButton =(按钮)findViewById(R.id. previous);
previousButton.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
imageSwitcher.setImageResource(imageIDs [0]);
}
});
}
公共查看makeView(){
ImageView的ImageView的=新ImageView的(这一点);
imageView.setBackgroundColor(0xFF000000);
imageView.setScaleType(ImageView.ScaleType.CENTER);
imageView.setLayoutParams(新ImageSwitcher.LayoutParams(
LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
返回ImageView的;
}
解决方案
改变输入/输出动画的onClickListeners。 试试这个:(不检查语法等)
@覆盖公共无效的onCreate(包savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.main);
imageSwitcher.setImageResource(imageIDs [0]);
Next按钮=(按钮)findViewById(R.id.next);
nextButton.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
动画OUT = AnimationUtils.loadAnimation(这一点,android.R.anim.slide_out_right);
动画= AnimationUtils.loadAnimation(这一点,android.R.anim.slide_in_left);
imageSwitcher =(ImageSwitcher)findViewById(R.id.switcher1);
imageSwitcher.setFactory(本);
imageSwitcher.setInAnimation(在);
imageSwitcher.setOutAnimation(出);
imageSwitcher.setImageResource(imageIDs [1]);
}
});
previousButton =(按钮)findViewById(R.id. previous); previousButton.setOnClickListener(新OnClickListener(){
公共无效的onClick(视图v){
动画OUT = AnimationUtils.loadAnimation(这一点,android.R.anim.slide_out_left);
动画= AnimationUtils.loadAnimation(这一点,android.R.anim.slide_in_right);
imageSwitcher.setFactory(本);
imageSwitcher.setInAnimation(在);
imageSwitcher.setOutAnimation(出);
imageSwitcher.setImageResource(imageIDs [0]);
}
});
}
公共查看makeView(){
ImageView的ImageView的=新ImageView的(这一点);
imageView.setBackgroundColor(0xFF000000);
imageView.setScaleType(ImageView.ScaleType.CENTER);
imageView.setLayoutParams(新ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
返回ImageView的; }
I have a ImageSwitcher and 2 buttons..."Next" and "Previous" to slide images...But its animate my sliding only in one side from left to the right...How to fix that ? thanks...
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;
}
解决方案
change the in/out animation in the onClickListeners. try this: (not checked for syntax etc...)
@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; }
这篇关于安卓:ImageSwitcher的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文