首先在XML文件中加载ImageSwitcher图片转换控件,和两个Button按钮,触发点击事件来切换图片。
具体代码如下:
<ImageSwitcher
android:id="@+id/is"
android:layout_height="300dp"
android:layout_width="300dp"
>
</ImageSwitcher>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一张"/>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上一张"/>
</LinearLayout>
主Acticvity页面代码如下: ctivity extends AppCompatActivity implements View.OnClickListener, ViewSwitcher.ViewFactory { private ImageSwitcher is; private Button btn1; private Button btn2; private int[] images={R.drawable.im,R.drawable.ifa};//新建图片数组 private int index;//标记图片数组下标
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
is=findViewById(R.id.is);
is.setFactory(this);//设置被切换View对象
btn1=findViewById(R.id.btn1);
btn2=findViewById(R.id.btn2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
is.setImageResource(images[0]);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btn1:
index++;
if(index>=images.length)
{
index=images.length-1;
return;
}
is.setImageResource(images[index]);
break;
case R.id.btn2:
index--;
if(index<0)
{
index=images.length;
return;
}
is.setImageResource(images[index]);
break;
}
}
@Override
public View makeView() {
ImageView imageView=new ImageView(this);
return imageView;
}
}